如果布尔值等于它的反转,如何反转布尔值

How to reverse the bool value if it equals to reverse of it

我知道可以用两行代码来实现,但我想知道是否可以只写 1 行代码。我觉得我看到了 ?接线员,但找不到我要找的东西。 比如,

bool val = true;
if (a == true){
a = !val
}

编辑:更改了示例代码

(a = !val) 将 a 与 val 进行比较并更改值

一行

从技术上讲,这是单行:

if (a == true) a = !val;

如果 a 不可为空,那么这也适用:

if(a) a = !val;

?: 运算符

我想你可能正在寻找 ?: operator:

a = a ? !val : a;

if更好。

&=|= 运算符

对于您在此处执行的那种逻辑 &=|= 运算符 可以用。

&=|= 运算符将为您提供最简洁的解决方案,但 if 可以说是最容易阅读和查看正在发生的事情。