1

我有一个数组( double ): ox_test 具有已知数量的元素。

当我编码时:

Array.Sort(ox_test);

然后,只是看看它的数组是否排序:

for (int y = 1; y <= ox_test.Length; y++)
     MessageBox.Show(".x: " + ox_test[y]);

.. 我得到 ... 0, 0, 0, 0, 0 (如果元素的数量是 5 )。请帮忙,谢谢!

所以我修改了两个for循环:

for (int y = 0; y < ox_test.Length; y++)
    MessageBox.Show(".x: " + ox_test[y]);
    // HERE  i get the values not sorted but != 0

Array.Sort(ox_test);

for (int y = 0; y < ox_test.Length; y++)
    MessageBox.Show(".x s: " + ox_test[y]);
    // HERE i get only 0 values
4

3 回答 3

6
// sort double array
double[] doubleArray = new double[5] { 8.1, 10.2, 2.5, 6.7, 3.3 };
Array.Sort(doubleArray);
// write array
foreach (double d in doubleArray) Console.Write(d + " ");  // output: 2.5 3.3 6.7 8.1 10.2
于 2012-04-22T09:27:33.590 回答
1

您应该从 0 而不是 1 开始。

for (int y = 0; y < ox_test.Length; y++)
    MessageBox.Show(".x: " + ox_test[y]);

另外,请确保ox_test数组的初始化。

于 2012-04-22T09:25:36.367 回答
0

试试这个代码:

Array.Sort(ox_test);

foreach (double i in ox_test)
{
    Console.Write(i + " ");
}
于 2012-04-22T09:32:48.547 回答