MSDN文檔的關鍵字是說:爲什麼is關鍵字需要一個非空的表達式?
expression is not null
爲什麼?如果 MethodThatReturnsNull()是類型被調用不應該返回false,因爲null肯定不是那種類型?
MSDN文檔的關鍵字是說:爲什麼is關鍵字需要一個非空的表達式?
expression is not null
爲什麼?如果 MethodThatReturnsNull()是類型被調用不應該返回false,因爲null肯定不是那種類型?
它確實返回false
如果expression
是null
。也許你誤解了文檔?
你可以肯定地說,關於null的唯一方法就是你不知道它是什麼。將某些東西與空值進行比較通常會導致空值...
問:是否1 ==「我不知道」? A:「我不知道」
查看this blog post由Eric Lippert。
您不能靜態解析空值。
正確。 MSDN指出「如果提供的表達式非空,An is表達式的計算結果爲true,並且提供的對象可以轉換爲提供的類型而不會引發異常。」所以如果表達式爲空則是錯誤的。 – 2009-06-12 21:44:34
你說得對,我誤解了文檔。 – jasonh 2009-06-12 21:44:54