返された単一の配列を期待される結果と比較するいくつかの単体テストをデバッグしているときに、これに遭遇しました。
System.Single.NaN == System.Single.Nan;
単体テストはtrueを期待していましたが、これはfalseと評価されます。シングルの他の静的メソッドがtrueを返すのに、なぜこれがfalseと評価されるのですか?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は、次のように述べています。「2つのNaN値は互いに等しくないと見なされます。」しかし、この質問は、なぜこれが何よりも多いのかという好奇心から外れています。