1.5 KiB
1.5 KiB
title | localeTitle |
---|---|
Null-coalescing Operator | 空结合运算符 |
空结合运算符
C#中的null-coalescing运算符用于帮助将一个变量分配给另一个变量,如果源值为null
,则指定备用值。 C#中的null-coalescing运算符是??
。
例1
由于name
为null
, clientName
将为clientName
分配值“John Doe”。
string name = null;
string clientName = name ?? "John Doe";
Console.WriteLine(clientName);
> John Doe
例2
由于name
不为null
, clientName
将为clientName
分配name
的值,即“Jane Smith”。
string name = "Jane Smith";
string clientName = name ?? "John Doe";
Console.WriteLine(clientName);
> Jane Smith
替代if ... else语句
您可以使用if...else
语句来测试是否存在null
并分配不同的值。
string clientName;
if (name != null)
clientName = name;
else
clientName = "John Doe";
但是,使用null-coalescing运算符可以大大简化这一点。
string clientName = name ?? "John Doe";
条件(三元)运算符的替代
也可以使用条件运算符来测试null
的存在并分配不同的值。
string clientName = name != null ? name : "John Doe";
同样,这可以使用null-coalescing运算符进行简化。
string clientName = name ?? "John Doe";