操作符一:??=
?? 运算符左操作数的类型必须是引用类型或可以为 null 的值类型。 从 C# 8.0 版本开始,该要求替换为以下内容:?? 和 ??= 运算符的左操作数的类型必须是可以为 null 的值类型。??= 运算符的左操作数必须是变量、属性或索引器元素。
操作符二:??和??=
它们都是当左操作数为空时返回右操作数
操作符三:“?.”这个操作符的功能相当于以下代码,当XXX不为空时执行XXX的xxx方法。
if(XXX)
{
XXX.xxx();//方法
XXX.yyy;//字段,属性
}
操作符四:“?[]”这个操作符的功能相当于以下代码,当XXX数组或其他数据不为空时返回指定索引的值
if(XXX[]!=null)
{
return XXX[xxx];
}
操作符五:"?:"这个操作符不可以代替if,前面需要有参数来接收返回值,或者把该值当参数传递,当XXX为空时返回0,否则返回1
int y=XXX==null?0:1;