CLR via C# 笔记 -- 可空值类型(19)

1. 值类型的变量永远不会为null,所有需要使用System.Nullable<T>

2. 操作数是null,结构是null;==、!=操作数都为null,则返回true;<、>、<=、>= 任何一个操作数为null,则返回false。

3. 操作可空类型的速度慢于非可空类型速度。

4. ?? 不是 ?:的语法糖。

5. CLR对Nullable<T>实例进行装箱时,会检查它是否为null,如果是,则不装箱任何东西,直接返回null;如果可空实例不是null,CLR从可空实例中取出值并进行装箱,也就是说,一个值为5的Nullable<int>会装箱成值为5的已装箱int32。

6. 在Nullable<T>对象上调用GetType,CLR实际会撒谎数类型时T,而不是Nullable<T>

原文地址:https://www.cnblogs.com/Cxiaoao/p/14842536.html