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

sni*_*red 35 c# if-statement

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

if (expression)
{
    return true;
}
else
{
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我不能让它工作,因为它返回的东西与设置的东西.我已经看过这样的事了:

somevar = (expression) ? value1 : value2;
Run Code Online (Sandbox Code Playgroud)

就像我说的,请温柔:)

Jam*_*lis 72

return (expression) ? value1 : value2;
Run Code Online (Sandbox Code Playgroud)

在你的例子中,如果value1并且value2实际上true和false你一样,你也可以

return expression;
Run Code Online (Sandbox Code Playgroud)

  • 为了澄清,这被称为"三元运算符" (31认同)
  • 实际上'三元'只意味着由三个项组成,它被称为条件运算符.http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.80).aspx (4认同)
  • @Joel:是的.这是_the_条件运算符.它是_a_三元运算符. (4认同)

Jac*_*cob 6

在您的情况下,您所需要的只是:

return expression;
Run Code Online (Sandbox Code Playgroud)

原因是表达式本身的计算结果为布尔值为true或者false,因此拥有一个if块(甚至是一个?:运算符)是多余的.