aspx2008

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

表達式

Posted on 2005-05-10 19:52  極速麻醉  阅读(633)  评论(0编辑  收藏  举报

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

 

类别

运算符

基本

x.y  f(x)  a[x]  x++  x--  new

typeof  checked  unchecked

 

一元

+  -  !  ~  ++x  --x  (T)x

乘法

*  /  %

加法

+  -

移位

<<  >>

 

关系和类型检测

<  >  <=  >=  is  as

 

相等

==  !=

     

逻辑 AND

&

逻辑 XOR

^

逻辑 OR

|

 

条件 AND

&&

 

条件 OR

||

 

条件

?:

 

赋值

=  *=  /=  %=  +=  -=  <<=  >>=  &=  ^=  |=

 

当表达式包含多个运算符时运算符的优先级控制各运算符的计算顺序。例如,表达式 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 先将 x y 相加然后再将结果乘以 z