Как отсортировать элементы списка по значению в середине элемента списка
Всем привет,
Я понятия не имею, как сортировать элементы списка по какому-то числу в середине текста.
Например, мой listbox заполнен списком элементов в следующем формате::
ListBox1.Items.Add("Plate: " & oPlateName & "; Angle: - " & strAngle & "; Diameter: " & strDiameter)
И список должен быть отсортирован по значению:
strAngle
который находится где-то в середине элемента списка.
Любая помощь очень ценится.
ТЗ
Что я уже пробовал:
То, что я пробовал, это:
Dim orderedList As List(Of String) = (From item In myList Order By Integer.Parse(item.Substring(item.IndexOf("; Angle: - ") + 1)) Descending Select item).ToList
Richard MacCutchan
И что произошло, когда вы попробовали этот код?
Michael_Davies
Какой результат вы получаете в orderedList, соответствует ли он вашим ожиданиям и если да, то что не так.
Редко используйте listbox, предпочитайте ListView, установленный в detailed, и добавьте обработчик для сортировки, чтобы он сортировался по мере добавления элементов в список или отключения сортировки, построения списка, а затем сортировки.
Michael_Davies
Почему бы не использовать ListView в детальном режиме добавить столбец для каждого элемента Plate, Angle & Diameter, а затем установить сортировку по столбцу Angle.