Single.NaN не равен самому себе?

Я столкнулся с этим во время отладки некоторых модульных тестов, которые сравнивали возвращенный одиночный массив с ожидаемыми результатами.

System.Single.NaN == System.Single.Nan;

Модульный тест ожидал истинного, но это оценивается как ложное. Почему это оценивается как false, когда другие статические методы single возвращают true? Разве NaN не является постоянной величиной?

System.Single.MaxValue == System.Single.MaxValue;
System.Single.Epsilon == System.Single.Epsilon;
null == null;

http://msdn.microsoft.com/en-us/library/system.single.nan.aspxутверждает :«Два значения NaN считаются неравными друг другу». но этот вопрос из любопытства, почему это так больше, чем что-либо еще.

0
задан SkeetJon 17 July 2012 в 08:17
поделиться