【发布时间】:2013-01-04 22:16:49
【问题描述】:
我在 C# (.Net 4) 中使用 double[] 进行一些统计操作,然后我发现使用 CompareTo 方法和 double.NaN 的一些奇怪行为。当我尝试这段代码时:
double.NaN.CompareTo(double.NegativeInfinity) //returns -1
这意味着double.NaN 比double.NegativeInfinity 还要小!谁能解释一下为什么会这样?
【问题讨论】:
-
那么你的问题是什么?
-
不,这意味着对于排序的情况,NaN被认为小于负无穷大。我冒昧地猜测,在将 NegativeInfinity 与 null 进行比较时遵循相同的规则。
-
除了“这就是规范所说的那样”或者可能是一些疯狂的猜测之外,您不太可能得到任何答案。
标签: c# double nan infinity icomparable