什么时候需要使用float.PositiveInfinity和float.NegativeInfinity?

问题描述 投票:0回答:2

我们什么时候需要使用无穷大值,请添加一个真实世界的样本(如果有)。

c# floating-point infinity
2个回答
11
投票

例如,负无穷大是空列表的自然最大值。这样,您就拥有:

max(l1 + l2) = max(max(l1), max(l2))
,其中
l1
l2
是任意列表,可能为空。

该原理的实际应用:

float Max(IEnumerable<float> list)
{
    // invariant: max contains maximum over the part of the list
    // considered so far
    float max = float.NegativeInfinity;
    foreach (float v in list)
        if (v > max)
            max = v;
    return max;
}

9
投票

正无穷

当运算结果大于MaxValue时返回该常量。

负无穷

当运算结果小于 MinValue 时返回该常量。

因此,您可以使用这些常量来验证您的值是否超出其类型的范围。

© www.soinside.com 2019 - 2024. All rights reserved.