An expression using the |= assignment operator, such as
x |= y
is equivalent to
x = x | y
except that x
is only evaluated once. The | operator performs a bitwise OR operation on integral operands and logical OR on bool operands.
The |= operator cannot be overloaded directly, but user-defined types can overload the | operator (see operator).
using System; class Test { public static void Main() { int a = 0x0c; a |= 0x06; Console.WriteLine("0x{0:x8}", a); bool b = true; b |= false; Console.WriteLine(b); } }
0x0000000e True
C# Operators | CLR 7.13 Assignment operators