正文

C# 语言规范--1.5 表达式2006-09-03 18:29:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/vc2006/18204.html

分享到:

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 节 逻辑 AND
&
第 7.10 节 逻辑 XOR
^
第 7.10 节 逻辑 OR
|
第 7.11 节 条件 AND
&&
第 7.11 节 条件 OR
||
第 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。

 

阅读(1312) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册