C#中null
值用来表示数据类型未被赋予任何值,
它只能赋值给引用类型,不能赋值给值类型。
假如一个值类型数据确实无法确定它的取值,可以使用可空类型。
Nullable<int> i = null;
简写为:
int? i = null;
其中Nullable<T>
,T
必须是一个值类型。
可以用i.HasValue
来判断是否有值,
用i.Value
来取值,如果没有值,就会抛异常,
用i.GetValueOrDefault()
来取值,如果没有,则返回值类型的默认值。
注:
可空类型,仍然是值类型。public struct Nullable<T> where T : struct
但是可空类型的默认值FirstOrDefault
是null
。