Когда нам нужно использовать float.PositiveInfinity и float.NegativeInfinity? - PullRequest
9 голосов
/ 24 ноября 2010

Когда нам нужно использовать значения бесконечности, пожалуйста, добавьте реальный образец, если он доступен.

Ответы [ 2 ]

7 голосов
/ 24 ноября 2010

Например, отрицательная бесконечность является естественным максимальным значением пустого списка.При этом у вас есть: 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;
}
7 голосов
/ 24 ноября 2010

PostiveInfinity

Эта константа возвращается, когда результат операции превышает MaxValue.

NegativeInfinity

Эта константа возвращается, когда результат операции меньше MinValue.

Таким образом, вы будете использовать эти константы, чтобы проверить, что ваши значения находятся вне диапазона для их типа.

...