你如何通过比较同一行上的三个变量来 return 一个布尔值?

How do you return a boolean by comparing three variables on the same line?

我见过有人使用

仅在 1 行上执行 if 和 else 语句

return var1 != null ? var2 : 0;.

这似乎比先做一个 if 语句再写几行等等更紧凑,输入起来也更快...

上面的 return 语句是一个例子,我无法重新创建类似的东西,因为我不知道在 return 行上使用 if and else 语句的语法。


目前情况:

有3个整数。

我想比较 if var 1 大于 var 2 和 (&&) if (var 1 + var 3) 大于 var 2。 如果这些条件为真,那么 return 语句应该 return false else true.

尝试:

return var1 > var2 && (var1 + var3) > var2 ? false : true;

您可以输入:

return !(var1 > var2 && (var1 + var3) > var2);

“如果var1大于var2”是这个条件:

var1 > var2

“如果var1 + var3大于var2”是这个条件:

var1 + var3 > var2

Return 如果这两个条件都匹配则为 false,否则为 true:

return !(var1 > var2 && var1 + var3 > var2);

或者,您可以否定个别条件,这给出:

return (var1 <= var2 || var1 + var3 <= var2);

(只要你的数字中 none 是 NaN 就等价。)

不需要 ?: 运算符。

不是

return !(var1 > var2 && (var1 + var3) > var2);

够了吗?

使用布尔代数,我们可以简化 ! 运算符:!(a and b) = !a or !b

return var1 <= var2 || (var 1 + var 3) <= var2;