Gilad Naaman Gilad Naaman - 2 months ago 22
C# Question

Conditional XOR?

How come C# doesn't have a conditional

XOR
operator?

Example:

true xor false = true
true xor true = false
false xor false = false

Answer

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.