C# 包含一元运算符、二元运算符和一个三元运算符。下表概述了这些运算符,并将它们按优先级以从高到低的顺序列出:
| 第 7.5 节 | x.y f(x) a[x] x++ x-- newtypeof checked unchecked | |
| 第 7.6 节 | + - ! ~ ++x --x (T)x | |
| 第 7.7 节 | * / % | |
| 第 7.7 节 | + - | |
| 第 7.8 节 | << >> | |
| 第 7.9 节 | < > <= >= is as | |
| 第 7.9 节 | == != | |
| 第 7.10 节 | & | |
| 第 7.10 节 | ^ | |
| 第 7.10 节 | | | |
| 第 7.11 节 | && | |
| 第 7.11 节 | || | |
| 第 7.12 节 | ?: | |
| 第 7.13 节 | = *= /= %= += -= <<= >>= &= ^= |= |
当表达式包含多个运算符时,运算符的优先级控制各运算符的计算顺序。例如,表达式 x + y * z 按 x + (y * z) 计算,因为 * 运算符具有的优先级比 + 运算符高。
当操作数出现在具有相同优先级的两个运算符之间时,运算符的顺序关联性控制运算的执行顺序:
- 除了赋值运算符外,所有的二元运算符都向左顺序关联,意思是从左向右执行运算。例如,
x + y + z按(x + y) + z计算。 - 赋值运算符和条件运算符 (
?:) 向右顺序关联,意思是从右向左执行运算。例如,x = y = z按x = (y = z)计算。
优先级和顺序关联性都可以用括号控制。例如,x + y * z 先将 y 乘以 z 然后将结果与 x 相加,而 (x + y) * z 先将 x 与 y 相加,然后再将结果乘以 z。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8781179/viewspace-924499/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8781179/viewspace-924499/
519

被折叠的 条评论
为什么被折叠?



