??表达式是用来保证值不会为空
string s = null;
string str = s ?? "hello";
如果s为空那么str="hello" ,如果不为空就是str=s;
?修饰符,是System.Nullable的缩写形式,让值类型可赋值为null
例如:
System.Nullable<int>b=null;
缩写为:
int? b=null;
Nullable类型具有一个HasValue的
bool
类型只读属性,
当Nullable类型实例的该属性为
true
时,则表示该实例是非空实例,包含一个已知值Value,
HasValue为
false
时,访问Value属性将导致System.InvalidOperationException。