空接合运算符合可空类型
·第一个操作数是可空类型的变量
·第二个是相同基础类型的不可空值
·在运行时,如果第一个操作数运算后为null,那么第二个操作数就会被返回作为运算结果。
int ? myInt = null;
Console.WriteLine("myInt4:{0}",myInt ?? -1);
static void Main(string[] args)
{string b = "b";
string c = "c";
string d = "d";
//?? 判断要赋值的对象是否为空,如果为空往后赋值
string a= b ?? c??d;
//可空类型
int? aaa=null;
//通过HasValue判断一个可空类型中是否有可用的值
if (aaa.HasValue)
{
//aaa.Value可用
Console.WriteLine(aaa.Value);
}
else {
//aaa.Value不可用
Console.WriteLine("null");
}
Console.ReadKey();
}
Nullable<T>
可空类型通过System.NullAble<T>类型实现,它使用了C#的泛型特性。C#可空类型的问号是创建Nullable<T>类型变量的快捷语法,在这里T是基础类型。Nullable<T>接受了基础类型并把它嵌入结构中,同时给结构提供可空类型的属性、方法和构造函数。
使用Nullable<T>创建可空类型
Nullable<int> myInt = new Nullable<int>();等于 int? myInt = null;