首先,我已经了解了三元语句。但是,我最近看到了一段这样的代码:
public void DoSomething(Result result)
{
return result?.Actions?.Utterance;
}
这里使用的问号运算符是什么?
答案 0 :(得分:0)
这是null conditional运算符:
用于在执行成员访问(?。)或索引之前测试null (?[]操作。
您使用方法的代码而不使用空条件运算符,可以按如下方式编写:
public void DoSomething(Result result)
{
if(result!=null)
{
if(result.Actions!=null)
{
return result.Actions.Utterance;
}
else
{
return null;
}
}
else
{
return null;
}
}
答案 1 :(得分:-2)
此运算符是null条件if语句的缩写形式:
public void DoSomething(Result result)
{
if(result != null){
if(result.Actions != null){
return result.Actions.Utterance;
}
}
return null;
}