Nullable<T>
类型被定义为一个结构体。在 .Net 中,你不能将 null
赋值给一个 struct
,因为 structs
是值类型,不能用 null
表示(除了 Nullable<T>
)。int i = null; // won't compile - we all know this
int? i = null; // will compile, and I'm glad it does, and it should compile, but why?
Nullable<T>
如何成为规则“您无法将null
分配给值类型”的例外?反编译Nullable<T>
的代码并没有提供任何关于这是如何发生的信息。