问号运算符在C#中是什么意思?

问号运算符在C#中是什么意思?,c#,C#,首先,我已经知道了三元语句。但是,我最近看到一段代码如下: public void DoSomething(Result result) { return result?.Actions?.Utterance; } 这里使用的问号运算符是什么?这是运算符: 用于在执行成员访问(?)或索引之前测试null (?[)操作 您可以在不使用null条件运算符的情况下编写方法的代码,其编写方式如下: public void DoSomething(Result result) { if(

首先,我已经知道了三元语句。但是,我最近看到一段代码如下:

public void DoSomething(Result result)
{
    return result?.Actions?.Utterance;
}
这里使用的问号运算符是什么?

这是运算符:

用于在执行成员访问(?)或索引之前测试null (?[)操作

您可以在不使用null条件运算符的情况下编写方法的代码,其编写方式如下:

public void DoSomething(Result result)
{
    if(result!=null)
    {
        if(result.Actions!=null)
        {
            return result.Actions.Utterance;
        }
        else
        {
            return null;
        }
    }
    else
    {
        return null;
    }

}

此运算符是空条件if语句的缩写形式:

public void DoSomething(Result result)
{
    if(result != null){
        if(result.Actions != null){
            return result.Actions.Utterance;
        }
    }
    return null;
}

更好的欺骗:(这也是搜索
c#问号操作符
时的第二个结果)问空条件运算符与问空条件运算符在javascript中的等价物是什么是什么是什么是一种重复?人们不会在已经回答的问题上搜索。因此答案是:
如果a的计算结果为空,则a?.x或a?[x]的结果为空。
如果a的计算结果为非空,则a?.x或a?[x]的结果分别与a.x或a[x]的结果相同。