在 C# 中,两个问号一起 (??) 是什么意思?
它是 **空合并** 运算符。空合并运算符 ?? 返回其左操作数的值(如果它不为空);否则,它计算右操作数并返回其结果。如果左操作数计算结果为非空,则 ?? 运算符不会计算其右操作数。
可空类型可以表示一个可能未定义或来自类型域的值。我们可以使用 ?? 运算符在左操作数具有可空类型时返回适当的值。如果我们尝试将可空值类型分配给不可空值类型而不使用 ?? 运算符,我们将得到编译时错误,如果我们强制转换它,则将抛出 InvalidOperationException 异常。
以下是空合并运算符 (??) 运算符的优点:
它用于为可空项(对于值类型和引用类型)定义默认值。
它可以防止运行时 InvalidOperationException 异常。
它帮助我们消除许多冗余的“if”条件。
它适用于引用类型和值类型。
代码变得井井有条且易于阅读。
示例
using System;
namespace MyApplication{
class Program{
static void Main(string[] args){
int? value1 = null;
int value2 = value1 ?? 99;
Console.WriteLine("Value2: " + value2);
string testString = "Null Coalescing";
string resultString = testString ?? "Original string is null";
Console.WriteLine("The value of result message is: " + resultString);
}
}
}输出
以上示例的输出如下所示。
Value2: 99 The value of result message is: Null Coalescing
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP