C# 语言规范--1.5 表达式(转)

C# 包含一元运算符、二元运算符和一个三元运算符。下表概述了这些运算符,并将它们按优先级以从高到低的顺序列出:

第 7.5 节 x.y f(x) a[x] x++ x-- new
typeof  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 * zx + (y * z) 计算,因为 * 运算符具有的优先级比 + 运算符高。

当操作数出现在具有相同优先级的两个运算符之间时,运算符的顺序关联性控制运算的执行顺序:

  • 除了赋值运算符外,所有的二元运算符都向左顺序关联,意思是从左向右执行运算。例如,x + y + z(x + y) + z 计算。
  • 赋值运算符和条件运算符 (?:) 向右顺序关联,意思是从右向左执行运算。例如,x = y = zx = (y = z) 计算。

优先级和顺序关联性都可以用括号控制。例如,x + y * z 先将 y 乘以 z 然后将结果与 x 相加,而 (x + y) * z 先将 xy 相加,然后再将结果乘以 z


[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8781179/viewspace-924499/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8781179/viewspace-924499/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值