📜  C#中的空合并运算符(1)

📅  最后修改于: 2023-12-03 15:00:17.256000             🧑  作者: Mango

C# 中的空合并运算符

C# 中的空合并运算符(??)用于处理 null 值。当使用 null 合并运算符时,如果第一个值为 null,它会返回第二个值。否则,返回第一个值。

我们可以将其视为类似于条件运算符的替代,但它更加简洁易懂。

以下是使用空合并运算符的示例:

string myString = null;
string result = myString ?? "default value";

Console.WriteLine(result); // Output: "default value"

myString = "some value";
result = myString ?? "default value";
Console.WriteLine(result); // Output: "some value"

上面的代码中 myString ?? "default value" 表示,如果 myString 的值为 null,则返回 "default value";否则,返回 myString 的值。

注意事项
  • 空合并运算符的左边必须是一个可以为 null 的表达式。
  • 空合并运算符的右边必须是一个类型兼容且可赋值于左边之类型的表达式。

在以下示例中,?? 运算符的左操作数是可能为空的表达式 x,右操作数是从一个函数参数中返回的默认字符串。 如果 x 不为空,则引用 x 的值。 如果 x 为空,则引用默认字符串。

string displayName = name ?? "(no name)";
结论

我们可以使用空合并运算符,简化我们的 C# 代码,并确保我们的应用程序处理 null 值时更加优雅和易于读取。