C#中,可重载的运算符

C#中,运算符重载必须声明为public和static的,重载 == 和 != 时,最好也应重载Equals()和GetHashCode()方法,因为 == 和Equals()方法应保持一样的逻辑(不重载后两方法,会产生一个compiler warning)
 

   

   

算术二元运算符

+, *, /, , %

算术一元运算符

+, , ++, ––

按位二元运算符

&, |, ^, <<, >>

按位一元运算符

!, ~, true, false

truefalse运算符必须成对重载

比较运算符

==, !=, >=, <, <=, >

必须成对重载

赋值运算符

+=,=,*=,/=,>>=,<<=,%=

,&=,|=,^=

不能显式重载这些运算符,在重写单个运算符如+,,%等时,它们会被隐式重写

索引运算符

[]

不能直接重载索引运算符。第2章介绍的索引器成员类型允许在类和结构上支持索引运算符

数据类型转换运算符

()

不能直接重载数据类型转换运算符。用户定义的数据类型转换(在本章的第2部分介绍)允许定义定制的数据类型转换

posted @ 2006-06-25 01:26  FallingAutumn  阅读(1085)  评论(0编辑  收藏  举报