最近在修改一个概念时,我遇到了一个有趣的情况,我想知道为什么会发生这种情况。.Net编程语言中的可为空类型
我们知道一个概念,我们不能赋予null值的值类型,即Struct
,int
,DateTime
等
为了分配null
我们需要可空类型,即
int i
应及时更换与Nullable<int> i = null
但是如果我们看到Nullable<T>
它也是struct
类型,然后怎么来null
可以不统计分配有任何错误?为什么微软反驳它自己的声明“空不能赋值类型”
如果有人知道背后的原因?
你的编译器知道可为空值的类型是什么样的。它不*实际*分配* null *。使用ildasm.exe查看它的功能。 –