Константа NaN
Поле double.NaN задаёт значение «not a number».
Оно появляется, например, при 0.0 / 0.0.
NaN не равен сам себе: сравнение через
== всегда ложно. Проверять такое значение
нужно только через IsNaN.
Синтаксис
double num = double.NaN;
bool same = num == num;
Пример
Давайте получим NaN делением нуля на ноль:
using System;
class Program
{
static void Main()
{
double num = 0.0 / 0.0;
Console.WriteLine(double.IsNaN(num));
}
}
Результат выполнения кода:
True
Пример
Давайте убедимся, что NaN не равен сам себе:
using System;
class Program
{
static void Main()
{
double num = double.NaN;
Console.WriteLine(num == num);
}
}
Результат выполнения кода:
False
Пример
Давайте прочитаем константу double.NaN напрямую:
using System;
class Program
{
static void Main()
{
Console.WriteLine(double.IsNaN(double.NaN));
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
IsNaN,
которым проверяют значение на NaN -
константа
PositiveInfinity,
которая задаёт плюс бесконечность -
метод
IsFinite,
который возвращает false для NaN -
класс
Double,
в котором определена константа NaN