How come C# doesn't have a conditional XOR
operator?
Example:
true xor false = true true xor true = false false xor false = false
Conditional xor should work like this:
true xor false = true true xor true = false false xor true = true false xor false = false
But this is how the !=
operator actually works with bool types:
(true != false) // true (true != true) // false (false != true) // true (false != false) // false
So as you see, the nonexistent ^^
can be replaced with existing !=
.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With