【发布时间】:2010-09-22 12:04:15
【问题描述】:
与 C++ 不同,在 C# 中,您不能重载赋值运算符。
我正在为具有非常大数字的算术运算做一个自定义 Number 类,我希望它具有内置数字类型(如 int、decimal 等)的外观。我重载了算术运算符,但赋值仍然存在...
这是一个例子:
Number a = new Number(55);
Number b = a; //I want to copy the value, not the reference
是否有解决该问题的方法?
【问题讨论】:
-
解释问题(为什么需要它)。
-
对不起,也许我应该更具体一些。我正在为具有非常大数字的算术运算做一个自定义 Number 类,我希望它具有内置数字类型(如 int、decimal 等)的外观。我重载了算术运算符,但是任务仍然...
-
谢谢 - 我已将您的评论添加到问题本身。
-
这里是一个例子: Number a = new Number(55);数字 b = a;我希望它复制值,而不是引用。
-
查看 DateTime 和 TimeSpan。那里有很多方法。如果它实际上是一个原子值,那么它可能应该是一个结构。数字几乎总是属于这一类。