两个布尔字段的XOR运算

给定两个布尔值,如何拿出最优雅的计算在C#中的异或操作的class轮

我知道一个人可以通过switchelse来做到这一点,但这会使我的代码变得相当丑陋。

 bool xorValue = bool1 ^ bool2; 

确定添加一些上下文:你可以看这里的表

在那里你可以看到“独占”或“基本上与”不相等“相同。 所以你可以使用这个(与布尔):

 if( X != Y )... 

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

C#具有逻辑异或运算符 ^ 。 这是你如何做到的。

 bool result = x^y //x XOR y 

我认为这应该有所帮助:

 A ^ B ? TrueOperation() : FalseOperation();