一、C#运算符优先级
C#运算符也叫做C#操作符。
当一个表达式包含多个运算符时,就会出现运算符的运算次序问题。在C#中,使用运算符的优先级来解决运算的次序问题。运算符的优先级控制着单个运算符求值的顺序。
每一个运算符都有它自己一定的优先级,决定了它在表达式中的运算次序。在同一表达式中,先执行优先级高的运算符,然后再执行优先级低的运算符;优先级相同的按结合性从左向右或从右向左的顺序执行。
下面是C#运算符的优先级列表,运算符的分类排列是按其优先级从高到低的次序。同一分类的运算符具有相同的优先级。
二、提示
?当一个操作数出现在两个有相同优先级的操作符之间时,操作符按照出现的顺序由左向右执行。
?除赋值的操作符以外,所有的二进制的操作符都是按照从左向右的顺序执行。例如:x+y+z按照(x+y)+z进行求值。
?赋值操作符和条件操作符(?:)按照从右向左的顺序执行。例如:x=y=z按照x=(y=z)进行求值。
?如果不能正确确定操作符的有效顺序,那么,可以通过使用圆括号来改变运算顺序,即先计算圆括号内的表达式,后计算圆括号外的表达式。这样可以有效地确定操作符的运算顺序。