两个布尔场的XOR运算

Gra*_*ton 46 c# xor

鉴于两个布尔值,如何在C#中计算出最优雅的一个计算XOR运算的线程?

我知道可以通过组合使用switch或者这样做,if else但这会使我的代码变得相当难看.

Ron*_*erg 71

bool xorValue = bool1 ^ bool2;
Run Code Online (Sandbox Code Playgroud)

  • 我想没有`^^'操作符,因为短路XOR是不可能的,因为你必须在所有情况下评估这两个值. (5认同)
  • 我个人认为`bool ElegantResult = ElegantBoolean1 ^ ElegantBoolean2;`更优雅一点......但我猜这真的是在旁观者的眼中 (5认同)

Ins*_*ere 64

好的添加一些上下文:你可以在这里查看表格

在那里你可以看到"独家或"基本上与"不相等"相同.所以你可以使用它(使用布尔值):

if (X != Y)...
Run Code Online (Sandbox Code Playgroud)

但是如果你想直接向人们展示你的意思是"XOR",只需在这里使用其他答案.


thi*_*eek 18

C#具有逻辑XOR运算符 ^.这是你如何做到的.

bool result = x ^ y // x XOR y
Run Code Online (Sandbox Code Playgroud)