2013-04-22 45 views
-1

我是新來的C#.Net 有兩種類型的數據類型,一種是引用類型,另一種是值類型。今天 我的經驗,如果一個創造任何價值類型的實例,並將其分配給null該編譯器爲error.means值類型數據結構不能接受爲什麼

​​

我說的可空變量是指

int? a = null; 

我的問題是,當我們將null分配給任何值類型的數據結構時,爲什麼會出現錯誤。 在此先感謝。

+2

只需查看[MSDN參考](http://msdn.microsoft.com/en-us/library/s1ax56ch.aspx)和[這裏爲可空值類型](http:// msdn.microsoft.com/en-us/library/2cf62fcy(v=VS.80).aspx) – Steve 2013-04-22 09:38:38

+0

他wacha ekda http://msdn.microsoft.com/en-us/library/2cf62fcy%28v=VS.80 %29.aspx – Freelancer 2013-04-22 09:40:59

回答

1

因爲所有類型都有允許值的基礎範圍。對於int默認情況下,null不是允許的值。因此,當您嘗試將null分配給您的int對象時,您會收到「不可空的類型」錯誤。

可爲空的類型是System.Nullable結構的實例。可爲空的類型可以表示其基礎值類型的正常值範圍,以及一個附加的空值。例如,一個可爲Nullable發音的「Int32可爲空」,可以指定從-2147483648到2147483647之間的任何值,也可以指定爲空值。

MSDN更多信息...

我希望這有助於。

相關問題