这更像是一个"你能解释这个"类型的问题,而不是其他任何问题.
我在工作中遇到了一个问题,我们在表中使用NaN值,但是当表被排序时,它以一种非常奇怪,奇怪的方式出现.我认为NaN正在捣乱,所以我写了一个测试应用程序来判断这是否属实.这就是我做的.
static void Main(string[] args)
{
double[] someArray = { 4.0, 2.0, double.NaN, 1.0, 5.0, 3.0, double.NaN, 10.0, 9.0, 8.0 };
foreach (double db in someArray)
{
Console.WriteLine(db);
}
Array.Sort(someArray);
Console.WriteLine("\n\n");
foreach (double db in someArray)
{
Console.WriteLine(db);
}
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
结果如下:
之前:
4,2,NaN,1,5,3,NaN,10,9,8
Run Code Online (Sandbox Code Playgroud)
后:
1,4,NaN,2,3,5,8,9,10,NaN
Run Code Online (Sandbox Code Playgroud)
所以是的,NaN有些如何使排序的数组以奇怪的方式排序.
引用弗莱; "为什么这些东西?"