?. 运算符(Null 条件运算符):
这个运算符用于访问对象的成员,但在对象为空(null)时不会引发异常。它的语法是
对象?.成员
例如:
string name = null;
int length = name?.Length; // 当name为空时,不会引发空引用异常,length将被赋值为null
Console.WriteLine(length); // 输出:null
?? 运算符(空合并运算符)
这个运算符用于为可能为空(null)的表达式提供默认值。如果表达式为null,则返回指定的默认值。它的语法是
表达式1 ?? 表达式
例如:
string name = null;
string defaultName = "John Doe";
string finalName = name ?? defaultName;
Console.WriteLine(finalName); // 输出:John Doe
总结:
"?. "运算符用于安全地访问可能为空的对象的成员。
"?? "运算符用于在表达式为空时提供默认值。