我在调试一些单元测试时发现了这一点,这些测试将返回的单个数组与预期结果进行了比较
System.Single.NaN == System.Single.Nan;
Run Code Online (Sandbox Code Playgroud)
单元测试期望是正确的,但评估结果为假.当其他单一的静态方法返回true时,为什么这会求值为false?NaN不是恒定值吗?
System.Single.MaxValue == System.Single.MaxValue;
System.Single.Epsilon == System.Single.Epsilon;
null == null;
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/system.single.nan.aspx指出:"两个NaN值被认为是彼此不相等的." 但这个问题出于好奇,为什么这比其他任何东西都重要.