The assignment operators assign a new value to a variable, a property,
event, or an indexer element.
assignment:
unary-expression assignment-operator expression
assignment-operator: one of
= += -= *= /= %= &= |= ^= <<= >>=
The left operand of an assignment must be an expression classified as a
variable, a property access, an
indexer access, or an event access.
The = operator is called the simple assignment operator. It assigns the
value of the right operand to the
variable, property, or indexer element given by the left operand. The left
operand of the simple assignment
operator may not be an event access (except as described in ?7.7.1). The
simple assignment operator is
described in ?4.13.1.
The operators formed by prefixing an = character with a binary operator are
called the compound
assignment operators. These operators perform the indicated operation on
the two operands, and then
assign the resulting value to the variable, property, or indexer element
given by the left operand. The
compound assignment operators are described in ?4.13.2.
The += and -= operators with an event access expression as the left operand
are called the event
assignment operators. No other assignment operator is valid with an event
access as the left operand. The
event assignment operators are described in ?4.13.3.
The assignment operators are right-associative, meaning that operations are
grouped from right to left.
[Example: For example, an expression of the form a = b = c is evaluated as
a = (b = c). end example]