我是C#.Net的新手
有两种类型的数据类型,一种是引用类型,另一种是值类型。
今天我体验到如果创建任何值类型的实例并将其分配给null
编译器给出error.means
int a = null.
我说的是可空变量意味着
int? a = null;
我的问题是,当我们将null
分配给任何值类型数据结构时,错误发生的原因。
提前谢谢。
答案 0 :(得分:1)
因为所有类型都有允许值的基础范围。对于int
,默认情况下,null不是允许的值。因此,当您尝试将null
分配给int
对象时,会出现“非可空类型”错误。
Nullable类型是System.Nullable结构的实例。可空类型可以表示其基础值类型的正常值范围,以及额外的空值。例如,可以为发音为“Nullable of Int32”的Nullable分配从-2147483648到2147483647的任何值,或者可以为其指定空值。
有关详细信息,请参阅MSDN ...
我希望这会有所帮助。