1.三元(运算符)表达式 ?:
x?y:z
表示如果表达式x为true,则返回y;x为false,则返回z。
2.可空类型修饰符 T?
引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。为了使值类型也可为空,可空类型出现了,可空类型使用可空类型修饰符?来表示。表现形式为T?,其实T?等价于Nullable<T>。
例如:int? i = null;
3.空合并运算符 ??
判断是否是null并返回值.
在多个??一起出现在一行代码中的时候他的操作是从右往左进行的。如果运算符??左侧的值是null则返回右侧的值,如果左侧的值不为null则返回左侧值
string str0=null;
Console.WriteLine(str0??"1");因为从右侧往左运算所以最终返回null
string str1=null;
Console.WriteLine(str1??"1"??null); //因为从右侧往左运算所以最终返回1
4.NULL检查运算符 ?.
?.左边的对象如果为NULL,则不进行后面的获取成员的运算,直接返回NULL
x?.Collect //若x为null,则直接返回null