为什么C#不允许运算符重载?

dev*_*per -3 .net c# operator-overloading

为什么c#不允许运算符重载而C++呢?

当我试图超载时,我收到了这个错误.

期望可重载二进制运算符

我的示例代码看起来像,

public static MyClass operator +=(MyClass obj1, MyClass obj2)
        {
           ...
        }
Run Code Online (Sandbox Code Playgroud)

Kyl*_*ndo 14

您可以在C#中重载运算符:

在您决定使用运算符重载之前,请至少阅读以下内容:


编辑以响应操作编辑:

+=是一个不可重载的运算符.但是,它解决了+,并且+是可以超载的.有一个看看这里为哪家运营商就可以,不能超载.

可以重载的运算符:

+,-,!,~,++,--,true,false

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

==,!=,<,>,<=,>=(比较运算符可以重载,但看到链接注)


Şaf*_*zer 5

运算符重载,C#允许.(尤达版)