的目的是什么??C#中的运算符
本文关键字:运算符 是什么 | 更新日期: 2023-09-27 18:20:41
空合并运算符??
的主要用途是什么,如下所示:
double? num1 = 3.14157;
double num2 = num1 ?? 5.34;
Console.WriteLine("Value of num2: {0}", num2);
"
??
运算符称为null合并运算符,用于为可为null的值类型或引用类型定义默认值。如果操作数不为null,则返回左侧操作数;否则返回右侧操作数。"
来源:MSDN
Null联合运算符可以让您更简洁地编写代码:您不用使用条件语句或条件表达式,而是在一行中编写等效的表达式。
将您的表达式与此进行比较
if (num1.HasValue) {
num2 = num1.Value;
} else {
num2 = 5.34;
}
这个
num2 = num1.HasValue ? (double)num1.Value : 5.34;
或者这个:
num2 = num1 != null ? (double)num1 : 5.34;
你的表达比上面任何一个都容易读懂。
此外,当num1
不在变量中,而是来自函数时,此运算符可以避免引入临时变量,甚至可以为您保存函数调用:
double num2 = getNum1() ?? 5.34;
与。
int? tmpNum1 = getNum1();
num2 = num1.HasValue ? (double)num1.Value : 5.34;
我通常在第一次请求对象时使用它来创建对象:
public ICommand OkCmd
{
get { return _okCmd ?? (_okCmd = new DelegateCommand(Ok)); }
}
private DelegateCommand _okCmd;