什么是C#中的运算符重载?

C#-运算符重载

这是一种多态性。众所周知,每个运算符都有一个预定义的实现。但是使用运算符重载,我们可以根据用户定义的数据类型(例如类和结构)为c#运算符分配一些特殊任务。

我们可以重载一些C#运算符;所有C#运算符都不能重载。我们可以重载以下给出的以下运算符:

  1. 算术运算符(+-* /%)

  2. 按位运算符(&| << >>)

  3. 一元运算符(+-!〜++-)

  4. 关系运算符(==!= <> <=> =)

  5. 复合赋值(+ =-= * = / =%=)

我们不能重载以下给出的运算符:

  1. 逻辑运算符(&& ||)

  2. 转换运算符(())

  3. 赋值运算符(=)

  4. 点或成员运算符(.)

  5. 条件或三元运算符(?:)

  6. 引用运算符(->)

  7. new 运算符(new)

  8. sizeof 运算符(sizeof())

在C#中,要重载任何允许的运算符,我们需要使用operator关键字。在这里,我们使用给定的运算符(例如+,-和operator关键字)创建一个方法。此方法必须是公共的和静态的。此方法只能接受值参数,此处我们不能使用ref或out参数。

语法:

    public static return_type operator op (Type t)
    {
	    // 语句
    }

在这里,Type必须是一个类或构造。