In C #, sub-expressions are evaluated in order from left to right, with side effects produced in that order. This is defined in section 7.3 of the C # 5 specification:
The operands in the expression evaluate from left to right.
It is important to understand that the procedure for evaluating sublicense is independent of priority (aka order of operations) and associativity. For example, in a type expression A() + B() * C(). The order of evaluation in C # always A(), B(), C(). My limited understanding of C / C ++ is that this order is a detail of the compiler implementation.
n1 (10) +. (n1=n2). n2 (20), n1. n1 20. 20 * 0, 0. 10 + 0 (10) n2. , n1 = 20 n2 = 10.
.