ตัวเลือกที่ชัดเจนและตัวเลือกที่เข้มงวด ใน Visual Basic .NET และ ใน Visual Basic

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 311329 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายถึงสองตัวเลือกใบแจ้งยอด:
  • ตัวเลือกที่เข้มงวด
  • Option Explicit
ตัวเลือกที่เข้มงวดมีใหม่ ใน Microsoft Visual Basic .NET, Microsoft Visual Basic 2005 และ Visual Basic รุ่นที่ใหม่กว่าOption Explicitมีพร้อมใช้งานใน Visual Basic รุ่นก่อนหน้านี้

ข้อมูลเพิ่มเติม

คำสั่งตัวเลือกที่ชัดเจน

โดยค่าเริ่มต้น Visual Basic .NET หรือ Visual Basic คอมไพเลอร์ enforces ชัดเจนตัวแปรประกาศ ซึ่งจำเป็นต้องให้คุณกำหนดตัวแปรทั้งหมดก่อนที่คุณใช้ เมื่อต้องการเปลี่ยนลักษณะการทำงานเริ่มต้นนี้ ให้ดูเปลี่ยนค่าของโครงการเริ่มต้นส่วน

คำชี้แจงสิทธิ์ที่เข้มงวดของตัวเลือก

โดยค่าเริ่มต้น Visual Basic .NET หรือคอมไพเลอร์ Visual Basic ไม่บังคับการพิมพ์ข้อมูลที่เข้มงวด เมื่อต้องการเปลี่ยนลักษณะการทำงานเริ่มต้นนี้ ให้ดูเปลี่ยนค่าของโครงการเริ่มต้นส่วน

ตัวเลือกที่เข้มงวดจำกัดการแปลงชนิดข้อมูล implicit เพื่อ widening แปลงเท่านั้น แปลง widening ต่างหากไม่อนุญาตแปลงชนิดการให้ข้อมูลใด ๆ ในข้อมูลที่สูญหายอาจเกิดขึ้นและการแปลงใด ๆ ระหว่างชนิดของตัวเลขและสายอักขระ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ widening แปลง ให้ดูwidening แปลงส่วน

เมื่อคุณใช้การตัวเลือกที่เข้มงวดงบดุล งบต้องปรากฏก่อนรหัสอื่น ใน Visual Basic .NET คุณสามารถมักจะแปลงชนิดข้อมูลใด ๆ ชนิดข้อมูลอื่นใด ๆ implicitly ข้อมูลสูญหายอาจเกิดขึ้นเมื่อค่าของชนิดข้อมูลหนึ่งถูกแปลงเป็นชนิดข้อมูลที่ มีความแม่นยำน้อยกว่า หรือกำลังการผลิตมีขนาดเล็กลง อย่างไรก็ตาม คุณได้รับข้อความข้อผิดพลาดขณะทำงานถ้าจะมีการสูญเสียข้อมูลในการแปลงค่าการตัวเลือกที่เข้มงวดแจ้งให้คุณทราบชนิดของการแปลงเหล่านี้ในเวลาการคอมไพล์เพื่อให้คุณสามารถหลีกเลี่ยง

ตัวเลือกที่เข้มงวดนอกจากนี้ยัง สร้างข้อความแสดงข้อผิดพลาดในสถานการณ์ต่อไปนี้:
  • สำหรับตัวแปรใด ๆ undeclared นี่คือเนื่องจากตัวเลือกที่เข้มงวดนอกจากนี้ ถึงOption Explicit.
  • รวมภายหลัง

widening แปลง

ตารางต่อไปนี้แสดงรายการมาตรฐาน widening แปลง

ยุบตารางนี้ขยายตารางนี้
ชนิดข้อมูล:ขยายไปยังชนิดข้อมูล
ไบต์ไบต์,ย่อ,จำนวนเต็ม,Long,ฐานสิบ,เส้นใต้เดี่ยว,ขีดเส้นใต้คู่
ย่อย่อ,จำนวนเต็ม,Long,ฐานสิบ,เส้นใต้เดี่ยว,ขีดเส้นใต้คู่
จำนวนเต็มจำนวนเต็ม,Long,ฐานสิบ,เส้นใต้เดี่ยว,ขีดเส้นใต้คู่
LongLong,ฐานสิบ,เส้นใต้เดี่ยว,ขีดเส้นใต้คู่
ฐานสิบฐานสิบ,เส้นใต้เดี่ยว,ขีดเส้นใต้คู่
เส้นใต้เดี่ยวเส้นใต้เดี่ยว,ขีดเส้นใต้คู่
ขีดเส้นใต้คู่ขีดเส้นใต้คู่
ทุกชนิดที่ระบุชนิดของจำนวนเต็มที่ขีดเส้นใต้และชนิดใด ๆ ที่คุณจะ widen
Char:Char:,string
ชนิดใด ๆวัตถุส่วนติดต่อที่โปรแกรมใช้
ชนิดใด ๆ ได้รับชนิดพื้นฐานใดก็ได้ที่ได้รับมา
ไม่มีสิ่งใดชนิดข้อมูลหรือชนิดของวัตถุใด ๆ

การแปลงต่อไปนี้อาจสูญเสียความแม่นยำ:
  • จำนวนเต็มเมื่อต้องการเส้นใต้เดี่ยว
  • Longเมื่อต้องการเส้นใต้เดี่ยวหรือขีดเส้นใต้คู่
  • ฐานสิบเมื่อต้องการเส้นใต้เดี่ยวหรือขีดเส้นใต้คู่
อย่างไรก็ตาม แปลงเหล่านี้ไม่เสียข้อมูลหรือ magnitude

แปลง widening สำเร็จเสมอ และเสมอทำแปลง widening implicitly

การแปลงกับ Casting อย่างชัดเจน

แปลงอย่างชัดเจนที่ใช้กับคำสำคัญในการแปลงชนิด visual Basic .NET หรือ Visual Basic 2005 ให้คำต่าง ๆ เช่นหลัก ซึ่ง coerce นิพจน์ในวงเล็บชนิดข้อมูลที่คุณต้องการ คำหลักเหล่านี้ทำงานเป็นฟังก์ชัน แต่คอมไพเลอร์แบบอินไลน์โค้ดที่สร้าง ดังนั้น ดำเนินได้รวดเร็วขึ้น ด้วยการแปลงที่ชัดเจนกว่ามีการเรียกฟังก์ชันเล็กน้อย

ตารางต่อไปนี้แสดงรายการคำหลักต่าง ๆ เกี่ยวกับการแปลงที่พร้อมใช้งาน
ยุบตารางนี้ขยายตารางนี้
คำสำคัญของการแปลงชนิดแปลงนิพจน์
เป็นชนิดข้อมูล
อนุญาตให้ใช้ชนิดข้อมูลของนิพจน์ที่จะถูกแปลง
CBoolBooleanชนิดของตัวเลขใด ๆ (รวมถึงไบต์และระบุชนิด),string,วัตถุ
CByteไบต์ชนิดใด ๆ ตัวเลข ใด ๆ ระบุชนิดBoolean,string,วัตถุ
CCharChar:string,วัตถุ
CDateวันที่string,วัตถุ
CDblขีดเส้นใต้คู่ชนิดของตัวเลขใด ๆ (รวมถึงไบต์และระบุชนิด),Boolean,string,วัตถุ
CDecฐานสิบชนิดของตัวเลขใด ๆ (รวมถึงไบต์และระบุชนิด),Boolean,string,วัตถุ
CIntจำนวนเต็มชนิดของตัวเลขใด ๆ (รวมถึงไบต์และระบุชนิด),Boolean,string,วัตถุ
CLngLongชนิดของตัวเลขใด ๆ (รวมถึงไบต์และระบุชนิด),Boolean,string,วัตถุ
CObjวัตถุชนิดใด ๆ
CShortย่อชนิดของตัวเลขใด ๆ (รวมถึงไบต์และระบุชนิด),Boolean,string,วัตถุ
CSngเส้นใต้เดี่ยวชนิดของตัวเลขใด ๆ (รวมถึงไบต์และระบุชนิด),Boolean,string,วัตถุ
CStrstringชนิดของตัวเลขใด ๆ (รวมถึงไบต์),Boolean,Char:,อักขระอาร์เรย์,วันที่,วัตถุ
CTypeระบุชนิดต่อไปนี้ใช้จุลภาค ()เมื่อคุณแปลงให้เป็นชนิด elementary (รวมทั้งอาร์เรย์ elementary ชนิด), ชนิดเดียวกันตามที่ได้รับอนุญาตสำหรับคำสำคัญแปลงสอดคล้องกัน

เมื่อคุณแปลงให้เป็นชนิดแบบร่วม อินเทอร์เฟซดังกล่าวใช้ และคลาสที่ซึ่งได้รับไม่ช่วง

เปลี่ยนค่าของโครงการเริ่มต้น

คุณสามารถเปลี่ยนค่าเริ่มต้นของOption Explicitและตัวเลือกที่เข้มงวด. ตัวอย่างเช่น เมื่อคุณสร้างโปรแกรมประยุกต์ใหม่ โดยใช้ Visual Basic .NET, Visual Basic 2005 หรือ 2008 Visual Basic ค่าสำหรับOption Explicitตั้งค่าเป็นบน. คุณสามารถเปลี่ยนค่านี้เป็นค่าเริ่มต้นปิด.

เมื่อต้องการเปลี่ยนค่าเริ่มต้นของOption Explicitและตัวเลือกที่เข้มงวดใน Visual Basic .NET คลิกตัวเลือกในการเครื่องมือmenu to open the Options dialog box. Then, change the default values forOption ExplicitและOption StrictในการVB Defaultssection ofProjects and Solutions.

To change the default values ofOption ExplicitและOption Strictin Visual Studio, clickตัวเลือกในการเครื่องมือmenu to open the Options dialog box. Then, change the default values forOption ExplicitและOption StrictในการVB Defaultssection ofProjects and Solutions.

คุณสมบัติ

หมายเลขบทความ (Article ID): 311329 - รีวิวครั้งสุดท้าย: 10 มกราคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft Visual Studio 2008 Academic Edition
  • Microsoft Visual Studio 2008 Professional Edition
  • Microsoft Visual Studio 2008 Standard Edition
  • Microsoft Visual Studio 2008 Team Edition for Database Professionals
  • Microsoft Visual Studio 2008 Team Edition for Software Architects
  • Microsoft Visual Studio 2008 Team Edition for Software Developers
  • Microsoft Visual Studio 2008 Team Edition for Software Testers
  • Microsoft Visual Studio 2008 Team Foundation Server
  • Microsoft Visual Studio 2008 Team Suite
  • Microsoft Visual Studio 2008 Team System Test Load Agent
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbvs2005swept kbvs2005applies kbvs2002sp1sweep kbbug kbcompiler kbdebug kbideproject kbinfo kbupgrade kbmt KB311329 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:311329

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com