Сортировка элементов списка численно в VB - PullRequest
3 голосов
/ 28 января 2010

Мне нужно отсортировать элементы в списке визуальных базовых чисел, то есть у меня есть набор чисел, которые я бы хотел отсортировать все больше.

Я попытался просто использовать свойство Sorted списка, но обнаружил, что оно обрабатывает числа, как если бы они были строками, т. Е. Будет смотреть на первую цифру, затем на вторую и т.д., чтобы определить порядок. Это означало, что 13 покажет до 5, например.

Я думал о том, чтобы сбросить все числа в массив, сохранить массив и затем вернуть их обратно в список, но, честно говоря, я не знаю, как выполнить сортировку. Я полагал, что массив будет бесполезен, так как список уже действует как псевдомассив.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 29 января 2010

Вы можете использовать что-то вроде этого:

Private Shared Sub SortIntegerListBox(ByVal listBox As ListBox)
    Dim TempList As New List(Of Integer)
    For Each LI In listBox.Items
        TempList.Add(Integer.Parse(LI.ToString()))
    Next
    TempList.Sort()
    listBox.DataSource = TempList
End Sub

И назовите его после привязки:

    Dim Items As New List(Of Integer)
    Items.Add(1)
    Items.Add(13)
    Items.Add(2)

    Me.ListBox1.DataSource = Items
    SortIntegerListBox(Me.ListBox1)
1 голос
/ 28 января 2010

Вы можете сбросить элементы в List(Of Integer) объект и вызвать его сортировку. Затем привяжите свой список к этому новому списку после сортировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...