在类中定义算术运算

本文关键字:算术运算 定义 | 更新日期: 2023-09-27 18:29:48

我正在用自己的类在c#中创建一个库dll。但是,对于算术运算(+,-,*,/,…),我创建了像.Add(c1,c2)这样的方法,其中c1和c2是我类的对象。

这个方法很棒,但我更愿意说:c3=c1+c2;由于我已经为我的类编写了Add函数、Multiply函数、Divide函数等,我想定义一下:

c1=c2+c3等于:c1=MyClass.Add(c2,c3);

因此,如果可能的话,我会重用我的代码。我确信网上有关于这一切的文档和信息,但我找不到,我搜索的任何东西,谷歌似乎误解了我的问题。

如何定义类对象的基本算术运算?

在类中定义算术运算

您正在查找运算符重载。您需要重载+运算符来告诉编译器如何在两个对象之间执行加法。然后,您将能够像添加两个整数一样添加两个对象。

以下是msdn 中+运算符过载的示例

public static Complex operator +(Complex c1, Complex c2) 
{
   return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
}