.NET 运算符

 

  • 运算符
     C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。通常允许对枚举进行整型运算,例如 ==、!=、<、>、<=、>=、binary +、binary -、^、&、|、~、++、-- 和 sizeof()。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。
 
运算符类别运算符

基本

x.y

f(x)

a[x]

x++

x--

new

typeof

checked

unchecked

->

一元

+

-

!

~

++x

--x

(T)x

True

False

&

sizeof

乘法

*

/

%

加法

+

-

变换

<<

>>

关系和类型检测

<

>

<=

>=

is

as

相等

==

!=

逻辑“与”

&

逻辑 XOR

^

逻辑“或”

|

条件 AND

&&

条件 OR

||

条件运算

?:

赋值

=

+=

-=

*=

/=

%=

&=

|=

^=

<<=

>>=

??

  • 运算符优先级
    1. 前++ 前-- +(正号) -(负号)! ~
    2. * / %
    3. + -
    4. << >>
    5. < > <= >=
    6. == !=
    7. &
    8. ^
    9. |
    10. &&
    11. ||
    12. 赋值运算
    13. 后++ 后--
  • 可重载运算符
     C# 允许用户定义的类型通过使用 operator 关键字定义静态成员函数来重载运算符。但不是所有的运算符都可被重载,下表列出了不能被重载的运算符:
运算符可重载性

+-!~++--true 和 false

可以重载这些一元运算符。

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

可以重载这些二进制运算符。

==!=<><=>=

比较运算符可以重载(但请参见本表后面的说明)。

&&||

条件逻辑运算符不能重载,但可使用能够重载的 & 和 | 进行计算。

[]

不能重载数组索引运算符,但可定义索引器。

()

不能重载转换运算符,但可定义新的转换运算符(请参见 explicit 和 implicit)。

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

赋值运算符不能重载,但 += 可使用 + 计算,等等。

=.?:->newissizeof 和 typeof

不能重载这些运算符。

  • 语法
public static Complex operator +(Complex c1, Complex c2)
posted @ 2013-05-30 08:53  M守护神  阅读(1352)  评论(0编辑  收藏  举报