value类型数据结构不接受Null为什么

时间:2013-04-22 09:35:05

标签: c# oop

我是C#.Net的新手 有两种类型的数据类型,一种是引用类型,另一种是值类型。 今天我体验到如果创建任何值类型的实例并将其分配给null编译器给出error.means

int a = null.

我说的是可空变量意味着

int? a = null;

我的问题是,当我们将null分配给任何值类型数据结构时,错误发生的原因。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

因为所有类型都有允许值的基础范围。对于int,默认情况下,null不是允许的值。因此,当您尝试将null分配给int对象时,会出现“非可空类型”错误。

  

Nullable类型是System.Nullable结构的实例。可空类型可以表示其基础值类型的正常值范围,以及额外的空值。例如,可以为发音为“Nullable of Int32”的Nullable分配从-2147483648到2147483647的任何值,或者可以为其指定空值。

有关详细信息,请参阅MSDN ...

我希望这会有所帮助。