这个“IF ELSE”声明怎么称呼?

时间:2011-09-16 08:29:26

标签: c# if-statement

我有时在我的代码中使用这种if

!Value == null ? DoSomething : DoSomethingElse;

我想知道if else语句的正确名称是什么。

另外,我想知道是否只有if部分,同一结构中没有else

3 个答案:

答案 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)。