用equals运算符检查无穷大是否有效?

时间:2018-07-15 00:19:42

标签: c# floating-point equality infinity

c# how to check if a number is infinity

答案:Double.IsInfinityDouble.IsPosiviteInfinity

现在是我的问题:简单地这样做是否有效:

double d = Double.PositiveInfinity;
if(d == Double.PositiveInfinity)
{
    //
}

似乎有效,但是!如果事情是如此简单,为什么前面提到的问题的答案却推荐Double.IsPositiveInfinity?为什么完全提供此方法?

这使我想知道是否存在使用==运算符检查无穷大的警告...在哪里?

1 个答案:

答案 0 :(得分:0)

这些东西是方法,而不是属性(https://msdn.microsoft.com/en-us/library/system.double.ispositiveinfinity(v=vs.110).aspx)。据我所知,您应该像这样使用它们:

 if (double.IsPositiveInfinity(d)) { }