我有时在我的代码中使用这种if
:
!Value == null ? DoSomething : DoSomethingElse;
我想知道if else
语句的正确名称是什么。
另外,我想知道是否只有if
部分,同一结构中没有else
。
答案 0 :(得分:9)
它被称为conditional operator。它是一个三元运算符(也是唯一的运算符),但这并不是它所谓的。
您不能使用它,因为您可以使用if语句。您只能在需要它的地方使用它来返回两个值中的一个。这两个值必须是相同的类型,或者它们之间需要存在隐式转换。
答案 1 :(得分:2)
回答你的第二个问题:
另外,我想知道是否只有一个if部分,没有相同结构中的else
答案是“有点”,如果要检查null,则称为空合并。语法类似,如下所示:
myVariable = aPossiblyNullValue ?? ReturnThisIfNull;
如果值不为null,则返回左侧,如果为null,则返回右侧。
答案 2 :(得分:0)
它的'三元运算符,就像......一样......
!Value == null ? DoSomething : DoSomethingElse;
如果value不为null(因为你已添加!)然后做一些事情(DoSomething将被调用。否则,(意味着如果编码失败),然后做其他事情(将调用DoSomethingElse)。