为什么C#没有条件XOR
运算符?
示例:
true xor false = true
true xor true = false
false xor false = false
发布于 2013-02-03 02:02:06
这个问题有点过时了,但是...
这就是运算符的工作方式:
true xor false = true
true xor true = false
false xor true = true
false xor false = false
这就是!=运算符处理bool类型的方式:
(true != false) // true
(true != true) // false
(false != true) // true
(false != false) // false
因此,如您所见,现有的^^
可以替换为不存在的!=
发布于 2011-06-28 22:15:00
有一个逻辑XOR运算符:^
发布于 2015-12-29 19:04:01
根据Mark L的要求,以下是正确的版本:
Func<bool, bool, bool> XOR = (X,Y) => ((!X) && Y) || (X && (!Y));
以下是真值表:
X | Y | Result
==============
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0
参考:Exclusive OR
https://stackoverflow.com/questions/6507850
复制相似问题