1、可空值类型(System.Nullable<T> where T: struct )
2、System.Nullable与 int,double平级,为.NET中的“一级公民”
3、Int32 ? <=> Nullable<Int32>
4、Nullable<T>类型值与各种操作符进行运算,如果 Nullable<T>为Null,则 结果为 Null
特殊: "&" : Null & False -> False , Null & True -> Null
"|" : Null | False ->Null , Null | True ->True
5、如果 T 重载了操作符,那么System.Nullable<T>可以直接使用。
6、空结合操作符 "??"
int? b=null
int x=b ?? 110 如果b为Null,返回110。否则返回b;
7、装箱 :当对System.Nullable<T>进行装箱的时候,CLR会检查它是否为Null.
①如果为Null,不进行装箱。
②如果为Null,取值、装箱。
8、拆箱 :可把System.Nullable<T>拆箱为System.Nullable<T> 或者 T
9、System.Nullable<T>对象调用GetType()方法时候,返回T的类型。并不是返回System.Nullable<T>
10、虽然System.Nullable<int>并没有实现IComparable接口,但是可以像实现了IComparable接口一样操作,因为int实现了该接口。其他接口类似。