C# 运算符 ?和??
运算符?:
称为 Null-Conditional Operator(null条件运算符)
int? a = null;
string str = a?.ToString();
当 a 为 null 时就不进行后面的ToString(),返回null,当 a 不为 null 就ToString();
运算符??:
称为 null 合并运算符
表示当左操作数的值为NULL时,返回右操作数的值;
MSDN上面的解释:?? 运算符称为 null 合并运算符,用于定义可以为 null 值的类型和引用类型的默认值。如果左操作数不为 null,则此返回左操作数;否则当左操作数为 null,返回右操作数。
int? a = null;
int? b = a??1000; //b的值为1000