簡體   English   中英

什么都沒有!= null - 或者是嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM