C# 中的问号

本文将介绍 C# 中的问号和点运算符的含义。

在 C# 中使用 ?. 运算符作为空条件运算符

我们使用 ?. 运算符作为 C# 中的空条件运算符。问号后的圆点显示成员访问权。这 ?. 空条件运算符仅在该操作数的计算结果为非空时才将成员访问操作应用于该操作数;否则,返回 null。使用此符号的正确语法如下。

A?.B

在上面的示例中,如果 A 评估为空,则不评估 B

下面的程序显示了如何使用空条件运算符。

using System;
public class Program {
   public static void Main() {
  
  int[] array = new int[5];
  Console.WriteLine(array.GetType());
  int[] array1 = null;
  Console.WriteLine(array1?.GetType());
}
}

输出:

System.Int32[]

在上面的代码中,我们可以看到 GetType() 函数返回了 array 的类型。但是它没有返回 array1 的类型。这是因为 array1 为空,并且我们使用了空条件运算符。