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 AND operation on integral operands and logical AND 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); } }
0x00000004 False
C# Operators | CLR 7.13 Assignment operators