Conditional XOR?
Solution 1:
Question is a bit outdated but...
It's how this operator should work:
true xor false = true
true xor true = false
false xor true = true
false xor false = false
This is how != operator works with bool types:
(true != false) // true
(true != true) // false
(false != true) // true
(false != false) // false
So as you see unexisting ^^
can be replaced with existing !=
Solution 2:
In C#, conditional operators only execute their secondary operand if necessary.
Since an XOR must by definition test both values, a conditional version would be silly.
Examples:
Logical AND:
&
- tests both sides every time.Logical OR:
|
- test both sides every time.Conditional AND:
&&
- only tests the 2nd side if the 1st side is true.Conditional OR:
||
- only test the 2nd side if the 1st side is false.
Solution 3:
There is the logical XOR operator: ^
Documentation: C# Operators and ^ Operator