ฉันพบว่าPatrick Steeleตอบคำถามนี้ได้ดีที่สุดในบล็อกของเขา: Avoiding IsNothing ()
ฉันไม่ได้คัดลอกคำตอบของเขาที่นี่เพื่อให้แน่ใจว่า Patrick Steele จะได้รับเครดิตสำหรับโพสต์ของเขา แต่ฉันคิดว่าถ้าคุณกำลังพยายามตัดสินใจว่าจะใช้ Is Nothing หรือ IsNothing คุณควรอ่านโพสต์ของเขา ฉันคิดว่าคุณจะเห็นด้วยว่า Is Nothing เป็นทางเลือกที่ดีที่สุด
แก้ไข - ความคิดเห็นของ VoteCoffe ที่นี่
เนื้อหาบทความบางส่วน: หลังจากตรวจสอบโค้ดเพิ่มเติมแล้วฉันพบเหตุผลอื่นที่คุณควรหลีกเลี่ยงสิ่งนี้: ยอมรับประเภทค่า! เห็นได้ชัดว่าเนื่องจาก IsNothing () เป็นฟังก์ชันที่ยอมรับ 'วัตถุ' คุณจึงสามารถส่งผ่านอะไรก็ได้ที่คุณต้องการ หากเป็นประเภทค่า. NET จะใส่กล่องลงในวัตถุและส่งต่อไปยัง IsNothing ซึ่งจะส่งคืนค่าเท็จในค่าที่บรรจุกล่องเสมอ! คอมไพลเลอร์ VB.NET จะตรวจสอบไวยากรณ์สไตล์ "Is Nothing" และจะไม่คอมไพล์หากคุณพยายามทำ "Is Nothing" ในประเภทค่า แต่ฟังก์ชัน IsNothing () รวบรวมโดยไม่มีข้อร้องเรียน -PSteele - VoteCoffee
IsNothing()