在C#中重载复合赋值运算符的简单方法?

chr*_*892 6 c# overloading operator-overloading

有没有人有一个非常简单的例子,说明如何在C#中重载复合赋值运算符?

Ste*_*han 12

您不能显式重载复合赋值运算符.但是,您可以重载主运算符,编译器会对其进行扩展.

x += 1是纯粹的语法糖,x = x + 1后者是它将被翻译成的.如果你重载+操作符,它将被调用.

MSDN运算符重载教程

public static Complex operator +(Complex c1, Complex c2) 
{
   return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
}
Run Code Online (Sandbox Code Playgroud)

  • 'x + = 1纯粹是x = x + 1'的语法糖,这不完全正确.看我的回答. (3认同)