C#基础知识---?为何物

一、 可空类型修饰符(?)
引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。
例如:string str=null; 是正确的,int i=null; 编译器就会报错。
可空类型的出现,使值类型也可以为空。
例如:int? a 表示可空的整型,等价于System.Nullable<int>a;


二、 三元(运算符)表达式(?:)
例如:x ? y : z:

表示如果表达式x为true,则返回y;如果x为false,则返回z。

三、 空合并运算符(??)
用于定义可空类型引用类型的默认值。

如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。
例如:a ?? b 当a为null时则返回b,a不为null时则返回a本身。
空合并运算符为右结合运算符,即操作是从右向左进行组合的。

如:“a ?? b ?? c”的形式按“a ?? ( b ?? c )”计算。

原文地址:https://www.cnblogs.com/3xiaolonglong/p/9663195.html