C# 一行if语句,如何转换此if-else语句
这里没有人,所以要温柔。我到处找了,似乎找不到答案。我如何压缩以下内容C# 一行if语句,如何转换此if-else语句,c#,if-statement,C#,If Statement,这里没有人,所以要温柔。我到处找了,似乎找不到答案。我如何压缩以下内容 if (expression) { return true; } else { return false; } 我无法让它工作,因为它返回了一些东西,而不是设置了一些东西。我已经见过这样的事情: somevar = (expression) ? value1 : value2; 就像我说的,请温柔点:) 如果value1和value2实际上是true和false就像您的示例中那样,您也可以 return
if (expression)
{
return true;
}
else
{
return false;
}
我无法让它工作,因为它返回了一些东西,而不是设置了一些东西。我已经见过这样的事情:
somevar = (expression) ? value1 : value2;
就像我说的,请温柔点:)
如果value1
和value2
实际上是true
和false
就像您的示例中那样,您也可以
return expression;
在您的案例中,您只需要:
return expression;
原因是表达式本身的计算结果是布尔值
true
或false
,因此如果块(甚至是?:
运算符)有是多余的。因为表达式是布尔值:
return expression;
如果expression
返回布尔值,则只需返回其结果即可
范例
return (a > b)
我想他不明白为什么,所以你可以解释这一部分,但是的,这就是我要做的。为了澄清,这被称为“三元运算符”,当我尝试使用“返回(表达式)?value1:value2”时,我实际上是对的,但我把它放在了很长的一段路下。所以,我得到了一个关于“代码不可访问”的错误,因为它永远不会到达那个语句。很高兴我问了,尽管“回报表达”更有意义。。。谢谢实际上“三元”只是指由三项组成,它被称为条件运算符@乔尔:是的。这是条件运算符。它是一个三元运算符。当value1或value2是类似于Clipboard.SetText(TextBox.Text)
return (a > b)