gpt4 book ai didi

c# - 在类中定义算术运算

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:51 24 4
gpt4 key购买 nike

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

这个方法很棒,但我更愿意说:c3 = c1 + c2;因为我已经为我的类编写了我的加法函数、乘法函数、除法函数等,所以我想定义它:

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

因此,如果可能的话,我会重用我的代码。我确定网络上有关于所有这些的文档和信息,但我找不到它,无论我搜索什么,Google 看起来都误解了我的问题。

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

最佳答案

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

这是从 msdn 重载 + 运算符的示例

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

关于c# - 在类中定义算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26811473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com