null與void
null值用來表示數據類型未被賦予任何值,它是一種引用類型;void表示沒有類型,或者說是沒有任何值。null與void的區別可以認為void是根本沒有,而null是一個空箱子,里面什么都沒有。
null值只能賦值給引用類型,這里注意到string也是一種引用類型;引用類型在C中稱為“指針”,即存放變量位置的內存空間位置。將變量設為null,會顯式地設置引用,且它本身不指向任何內存位置;
null值賦給值類型將導致編譯錯誤。

void用于方法值的返回,其本質并不是一個數據類型,它只是用于指出沒有數據類型。
System.Nullable
C#中null值不能賦值給值類型,這里的值類型包括struct在內。原因是值類型不能包含引用,null作為一種“無”的引用當然不能被值類型所引用。在實際應用中這樣會造成一些問題,假如現在一個數據int類型確實無法確定它的取值。這里就需要使用可空類型。

使用GetType()查看其類型將拋出System.NullReferenceException異常

新聞熱點
疑難解答