c# 如何对数组进行排序并放入列表框?

c# How to sort an array and put in a listbox?

我是 C# 的新手,我正在尝试将数字从最低到最高排序,然后将它们放在 ListBox 中。到目前为止我所做的是:

{
    int[] sortArray = new int[listBox2.Items.Count];
    for (int i = 0; i < listBox2.Items.Count; i++)
    {
        string sort = listBox2.GetItemText(i);
        sortArray[i] = int.Parse(sort);
    }
    int aantal = listBox2.Items.Count;

    listBox2.Items.Clear();

    Array.Sort(sortArray);

    listBox2.Items.Add(sortArray);
}

ListBox 中有一些数字,当您按下按钮时,它应该对它们进行排序。谁能告诉我我做错了什么?

试试这个:

var newArray = sortArray.OrderByDescending(x => x).ToArray();
listBox2.Items.Add(sortArray);

我现在不在电脑前使用 Visual Studio 来尝试它,但我认为使用 Linq 的类似这样的东西必须工作

{
    List<int> items = listBox2.Items.select(i => int.Parse(i)).ToList();

    listBox2.Items.Clear();
    listBox2.Items.Add(items.OrderBy(i => i).ToArray());
}

对数组进行排序后,执行以下操作:

    foreach(int number in sortarray)
       listBox2.Items.Add(number);

我认为您需要单独添加项目。

{
    int[] sortArray = new int[listBox2.Items.Count];
    for (int i = 0; i < listBox2.Items.Count; i++)
    {
        string sort = listBox2.GetItemText(i);
        sortArray[i] = int.Parse(sort);
    }
    int aantal = listBox2.Items.Count;

    listBox2.Items.Clear();

    Array.Sort(sortArray);

    foreach(var i in sortArray)
        listBox2.Items.Add(i);
}

我找到了答案,这是我必须做的。感谢您的帮助:)

        int[] sortArray = new int[listBox2.Items.Count];
        for (int i = 0; i < listBox2.Items.Count; i++)
        {
            sortArray[i] = Convert.ToInt16(listBox2.Items[i]);
        }
        int aantal = listBox2.Items.Count;

        listBox2.Items.Clear();

        Array.Sort(soorteerArray);


        foreach (int value in sortArray)
        {
            listBox2.Items.Add(value);
        }