【发布时间】:2015-01-18 14:29:31
【问题描述】:
很难解释。我创建了一个 Infinity 类,Infinity,例如 Infinity ,它包含一个布尔值,表示无穷大是 + 还是 - 以及运算符重载,因此您可以执行所有这些操作: infinity + int, int - infinity, infinity > int, infinity
这很好,这正是我想要的,但问题是,要使用它,你必须将变量声明为 Infinity,而我不希望这样。 例如,我需要声明一个整数,并将这个 Infinity 分配给它,然后在需要时将其值更改为普通 int。示例:
int data = +Infinity;
......
n = 3;
if (n < data) data = n;
所以问题是,我怎样才能将此 Infinity 分配给任何其他类型的变量(整数、双精度、浮点等),但仍使用 Infinity 运算符。
我的意思是,例如,将 Infinity 对象作为整数传递,并使用它的运算符,直到我为其分配一个正常的 int 值。这可能吗?谢谢。
【问题讨论】:
-
double.PositiveInfinity和double.NegativeInfinity怎么样? -
@Fuex 说了什么。否则,您将得到的最接近的是隐式强制转换。
-
抱歉没有正确理解问题。你能用伪代码解释一下吗?如果您有泛型类型,则 int data = +Infinity
;应该工作。 -
@Fuex 我知道已经有其他 Infinity 类,但我想构建自己的 Infinity 类,这就是重点……无论如何,谢谢
标签: c# class operators infinity