-1

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

int a = null.

我说的是可空变量意味着

int? a = null;

我的问题是为什么当我们分配null给任何值类型数据结构时会发生错误。提前致谢。

4

1 回答 1

1

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

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

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

我希望这有帮助。

于 2013-04-22T09:39:37.773 回答