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