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