单行if语句,如何转换这个if-else语句

时间:2011-01-07 04:49:27

标签: c# if-statement

这里的总菜鸟很温柔。我到处寻找,似乎无法找到答案。我如何压缩以下内容?

if (expression)
{
    return true;
}
else
{
    return false;
}

我无法让它发挥作用,因为它正在返回一些东西而不是设置一些东西。我已经看过这样的事了:

somevar = (expression) ? value1 : value2;

就像我说的那样,请温柔:)

4 个答案:

答案 0 :(得分:73)

return (expression) ? value1 : value2;

如果您的示例中value1value2实际上是truefalse,那么您也可以

return expression;

答案 1 :(得分:7)

您所需要的只是:

return expression;

原因是表达式本身的计算结果为布尔值truefalse,因此拥有if块(甚至是?:是多余的操作者)。

答案 2 :(得分:3)

如果expression返回一个布尔值,您只需返回它的结果即可。

实施例

 return (a > b)

答案 3 :(得分:2)

因为表达式是布尔值:

return expression;