2016-02-19 43 views
0

說我有什麼可空== null並且nullable.hasvalue之間的差額(如果有的話)

int? x = SomeFunc(); 

我進入的習慣說法

if(x != null && x.HasValue) 
{ 
    // do somethign with x.Value; 
} 

的但代碼分析工具headslapped我因爲這樣說,這兩個條件是相同的。我看了看,其實他們是

也就是說,如果

int? x = null; 
x==Null; // true 
x.HasValue // false 

那麼,爲什麼同樣的事情測試的2種方式?我錯過了一些細微差別嗎?

+1

我想你的意思是'x.HasValue // false' – userSteve

回答

0

這兩者之間沒有區別。 它只是約定的問題。

只需選擇一個(你喜歡)並堅持下去。

+0

這些之間沒有區別。上面的問題已經被少數用戶在stackoverflow上提出。 http://stackoverflow.com/questions/17783929/c-sharp-hasvalue-vs-null –

相關問題