两个布尔字段的XOR运算
给定两个布尔值,如何拿出最优雅的计算在C#中的异或操作的class轮 ?
我知道一个人可以通过switch
或else
来做到这一点,但这会使我的代码变得相当丑陋。
bool xorValue = bool1 ^ bool2;
确定添加一些上下文:你可以看这里的表
在那里你可以看到“独占”或“基本上与”不相等“相同。 所以你可以使用这个(与布尔):
if( X != Y )...
但是如果你想直接向人们展示你的意思是“XOR”,只需在这里使用其他的答案。
C#具有逻辑异或运算符 ^
。 这是你如何做到的。
bool result = x^y //x XOR y
我认为这应该有所帮助:
A ^ B ? TrueOperation() : FalseOperation();