2011-04-30 17 views

回答

5

它允許你有一個「空」值。通用示例:

public int MyFunction(int? x) 
{ 
    int m = 99; 

    if(x == null) 
     m = 0; 
    else 
     m /= x.Value; 

    return m; 
} 

否則,如果嘗試將空值傳遞給MyFunction,編譯器將返回錯誤。

+2

或if(!x.HasValue);) – Gats 2011-04-30 08:14:57

+0

+1 @Gats - good catch :-) http://stackoverflow.com/questions/676078/which-is-preferred-nullable-hasvalue-or-nullable- null – Jess 2011-04-30 08:35:36

+0

我不會叫我聰明..我寫了一個關於爲什麼你會使用Int16而不是Int32的答案,我才意識到我錯過了這一點:D:D – Gats 2011-04-30 08:39:58

1

它是不是真正的「利益」 - 這是關於代表一些微妙的不同; Int16?實際上只是Nullable<Int16>的簡寫,這意味着除了常規的Int16範圍之外,它還能夠表示空/空狀態。但缺點是需要更多的空間。所以如果空間效率是你的目標(主要只是在數組等中有意義),你可能要仔細考慮。

+0

thnx u r賴特我不得不使用anthor字,但...... – alasif 2011-04-30 08:30:16

相關問題