[英]Nothing != null - or does it?
最近在之前的一個項目中,我發現了VB.NET和C#之間的一個特殊區別。
考慮以下C#表達式:
null <= 2
此表達式的計算結果為False ,這正是我所期望的。 然后是相應的VB.NET表達式:
Nothing <= 2
我很驚訝地發現這個表達式實際上是評估為True
這似乎是兩種語言之間相當基本的設計決定,它確實讓我感到震驚。
有人能告訴我為什么嗎? 是null和Nothing是一樣的嗎? 如果是這樣,他們為什么表現不同?
VB中的Nothing
都不會計算為給定類型的默認值。 (有關詳細信息,請參閱此鏈接 。)
對於整數比較(編譯器將從右手操作數假設),因此Nothing
將為0
。 出於更明顯的原因, 0 <= 2
是正確的:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.