给出两个布尔值,如何计算出最优雅的一个来计算C#中的XOR操作?
我知道可以通过switch
或if
else
的组合来实现这一点,但这会使我的代码变得相当难看。
答案 0 :(得分:70)
bool xorValue = bool1 ^ bool2;
答案 1 :(得分:63)
好的是添加一些上下文: 你可以看看Tables
在那里你可以看到“独家或”基本上与“不相等”相同。所以你可以使用它(使用布尔值):
if (X != Y)...
但是如果你想直接向人们展示你的意思是“XOR”,请在这里使用其他答案。
答案 2 :(得分:18)
C#有logical XOR operator ^
。这是你如何做到的。
bool result = x ^ y // x XOR y
答案 3 :(得分:0)
我认为它应该有所帮助:
A ^ B ? TrueOperation() : FalseOperation();