52

给定两个布尔值,如何在 C# 中提出最优雅的一个计算异或运算的内衬?

我知道可以通过switchor的组合来做到这一点,if else但这会使我的代码相当难看。

4

4 回答 4

77
bool xorValue = bool1 ^ bool2;
于 2010-07-06T07:06:08.587 回答
72

确定添加一些上下文:您可以在这里查看表格

在那里你可以看到“异或”与“不相等”基本相同。所以你可以使用它(带有布尔值):

if (X != Y)...

但是,如果您想直接向人们展示您的意思是“XOR”,请在此处使用其他答案。

于 2010-07-06T07:04:54.590 回答
18

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

bool result = x ^ y // x XOR y
于 2010-07-06T07:06:25.290 回答
0

我认为它应该有所帮助:

A ^ B ? TrueOperation() : FalseOperation();
于 2010-07-06T07:07:07.673 回答