【发布时间】:2014-01-23 15:12:54
【问题描述】:
我需要一种方法来表示一个可以是无限的整数。我不想使用浮点类型(double.PositiveInfinity),因为数字永远不能是小数,这可能会使 API 混乱。最好的方法是什么?
编辑:我还没有看到的一个想法是使用 int? null 代表无穷大。有什么好的理由不这样做吗?
【问题讨论】:
-
制作一个带有无穷大标志的包装器类型。
-
并且该包装器类型在内部只能容纳一个
int。按照惯例,int.MaxValue代表的不是自己,而是无限。 -
创建一个
Nullable<int>并将null的值视为无限。 -
减去
1会发生什么?OutOfMemoryException? -
@MrLister,
double.MaxValue和无穷大之间有很多整数值。无限量的事实。