C#运算符重载详细分析

分类:知识百科 日期: 点击:0

C#运算符重载

C#中的运算符重载是指定义一个类或结构的运算符,使其可以用于操作该类或结构的对象。运算符重载的实现方法是定义一个特殊的方法,该方法的名称以“op_”开头,后跟运算符的名称,这个方法可以指定它的参数和返回值。

C#中的运算符重载

C#中可以重载的运算符有:算术运算符(+,-,*,/,%),关系运算符(==,!=,<,>,<=,>=),位运算符(&,|,^,~),逻辑运算符(&&,||,!),赋值运算符(=),条件运算符(?:),一元运算符(+,-,!,++,--,true,false),类型转换运算符((),[],&),索引运算符([]),成员访问运算符(.),类型测试运算符(is,as),指针访问运算符(*,&),算术赋值运算符(+=,-=,*=,/=,%=),位赋值运算符(&=,|=,^=),逻辑赋值运算符(&&=,||=),移位运算符(<<,>>)。

C#中运算符重载的使用方法

1.定义一个类,定义一个运算符重载的方法,方法名称以“op_”开头,后跟运算符的名称,方法的参数和返回值需要根据实际情况调整;

public class MyClass
{
    public static MyClass operator+(MyClass c1, MyClass c2)
    {
        // 运算符重载的实现
    }
}

2.在定义的类中使用重载的运算符;

MyClass c1 = new MyClass();
MyClass c2 = new MyClass();
MyClass c3 = c1 + c2;

3.在定义的类外使用重载的运算符;

MyClass c1 = new MyClass();
MyClass c2 = new MyClass();
MyClass c3 = MyClass.operator+(c1, c2);

C#中运算符重载的注意事项

  • 运算符重载的实现方法必须是静态方法;
  • 运算符重载的实现方法必须是public的;
  • 运算符重载的实现方法必须有且只有两个参数;
  • 运算符重载的实现方法必须有返回值;
  • 不能重载的运算符有:sizeof,.,?:,->,new,typeof,checked,unchecked;
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。