Binary ^ operators are predefined for the integral types and bool. For integral types, ^ computes the bitwise exclusive-OR of its operands. For bool operands, ^ computes the logical exclusive-or of its operands; that is, the result is true if and only if exactly one of its operands is true.
User-defined types can overload the ^ operator (see operator).
using System; class Test { public static void Main() { Console.WriteLine(true ^ false); // logical exclusive-or Console.WriteLine(false ^ false); // logical exclusive-or Console.WriteLine("0x{0:x}", 0xf8 ^ 0x3f); // bitwise exclusive-or } }
True False 0xc7
C# Operators | CLR 7.10.1 Integer logical operators