在类中定义算术运算
本文关键字:算术运算 定义 | 更新日期: 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);
}