How come C# doesn't have a conditional
true xor false = true
true xor true = false
false xor false = false
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.
& - tests both sides every time.
| - test both sides every time.
&& - only tests the 2nd side if the 1st side is true.
|| - only test the 2nd side if the 1st side is false.