У меня есть необходимость в ключевой паре значений, которую я хочу сортировать, поэтому я решил использовать SortedList вместо HashTable.СортировкаList не сортировка по ключу - VB.NET
Я добавляю данные в порядке ниже мою SortedList, который является заказом мне это нужно в
Key | Value
--------------------------------
1 "700-800" | List(Of Object)
2 "900-1000" | List(Of Object)
3 "1100-1200" | List(Of Object)
4 "1700-1800" | List(Of Object)
5 "1900-2000" | List(Of Object)
Ключ представляет собой строку и значение является списком объектов. Ключ представляет собой временной интервал, который был объединен из двух целых значений и ограничен с помощью «-». «700» в качестве строки было 0700 изначально целым числом.
например.
Dim key As String = slotTimeStart.ToString() & "-" & slotTimeEnd.ToString()
Но как только эти ключевые пары значений добавляются в SortedList они появляются в порядке
3 "1100-1200" | List(Of Object)
4 "1700-1800" | List(Of Object)
5 "1900-2000" | List(Of Object)
1 "700-800" | List(Of Object)
2 "900-1000" | List(Of Object)
К сожалению, я получаю времена слотов как два целочисленных значения, которые не могут быть изменены.
Есть ли способ заставить сортировку сортировать список? или это проблема из-за того, как я храню свой ключ? Есть ли лучший способ сохранить его?
Спасибо Jon Вы это означает, что, когда я добавляю ключ, как указано в посте выше, что я делаю следующее при добавлении его к SortedList sortedlist.Add (key.ToString (Новый Comparer (implemtation здесь), Список (Of Object)) Как я никогда не использовал IComparer, не могли бы вы привести пример? – w4ymo
Нет - вы предоставляете IComparer (T) при создании SortedList.Следуйте за ссылкой, которую я предоставил для слова «конструктор» :) Я не могу привести пример прямо сейчас, поскольку мне нужно приготовить обед, а мой VB ужасен. Вы могли бы следовать примеру C#? –
Эй, Джон, не понимал, что есть ссылки. Я все еще новичок в макете переполнения стека :) Да, это было бы здорово. Я программист aC# по профессии только в компании, которая нуждается в vb.net. – w4ymo