3.7 运算符优先级与结合性

C# 中的表达式是使用运算符连接起来的符合C# 规范的式子,运算符的优先级决定了表达式中运算执行的先后顺序。运算符优先级其实相当于进、销、存的业务流程,如进货→入库→销售→出库,只能按这个步骤进行操作。运算符的优先级也是这样的,它是按照一定的先后顺序进行计算的。C# 中的运算符优先级按照由高到低的顺序依次是自增运算符和自减运算符、算术运算符、移位运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符。
如果两个运算符具有相同的优先级,则会根据其结合性确定是从左至右运算,还是从右至左运算。表3.11 列出了运算符从高到低的优先级顺序及结合性。
表3.11 运算符从高到低的优先级顺序及结合性

学习笔记
表3.11 中的 “←” 表示从右至左,“→” 表示从左至右。从表3.11 中可以看出,在C# 的运算符中,只有单目运算符、条件运算符和赋值运算符的结合性为从右至左,其他运算符的结合性都为从左至右。所以,下面的代码是等效的。
