C#中,可重载的运算符

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

类    别

运 算 符

限    制

算术二元运算符

+, *, /, –, %

算术一元运算符

+, –, ++, ––

按位二元运算符

&, |, ^, <<, >>

按位一元运算符

!, ~, true, false

true和false运算符必须成对重载

比较运算符

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

必须成对重载

赋值运算符

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

,&=,|=,^=

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

索引运算符

[]

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

数据类型转换运算符

()

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

转载于:https://www.cnblogs.com/FallingAutumn/archive/2006/06/25/435019.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值