Statements that evaluate to a value are called expressions. You may be surprised how many statements do evaluate to a value. For example, an assignment such as:
myVariable = 57;
is an expression; it evaluates to the value assigned, which, in this case, is 57.
Note that the preceding statement assigns the value 57 to the variable myVariable. The assignment operator (=) does not test equality; rather it causes whatever is on the right side (57) to be assigned to whatever is on the left side (myVariable). All of the C# operators (including assignment and equality) are discussed later in this chapter (see Section 3.6).
Because myVariable = 57 is an expression that evaluates to 57, it can be used as part of another assignment operator, such as:
mySecondVariable = myVariable = 57;
What happens in this statement is that the literal value 57 is assigned to the variable myVariable. The value of that assignment (57) is then assigned to the second variable, mySecondVariable. Thus, the value 57 is assigned to both variables. You can therefore initialize any number of variables to the same value with one statement:
a = b = c = d = e = 20;