2012-03-14 2 views
1

나는 Dictinary (Of String, Item)을 가지고 있으며 항목 이름별로 사전 순으로 정렬하려고합니다. 나는 정렬 된 독해를 사용하고 싶지 않고 그것없이, 나는 운이 없다. Linq 내 강한 포인트가 아니야 ...VB.NET : 알파벳 순서로 사전 주문

+0

당신은 Isortable를 구현해야하고 다른 인터페이스 나 용도에 따라 사전의 값을 가져, 키의 목록을 가져옵니다 SortedDictionary 또는 그러한 인터페이스를 구현하는 다른리스트 클래스 –

+0

SortedDictionary를 사용하지 않는 이유는 무엇입니까? – Heinzi

답변

4

Dictionary(Of TKey, TValue)는 본질적으로 정렬되지 않은 유형입니다. 하나를 정렬 할 방법이 없습니다. 대신 SortedDictionary(Of TKey, TValue)을 사용해보세요.

Dim map = new SortedDictionary(Of String, Item)() 
0

(1) (2) 키를 정렬하고 (3) 정렬 된 키

Dim keys As List(Of String) = dictionary.Keys.ToList 
keys.Sort() 

For Each str As String In Keys 
    Console.WriteLine("{0} -> {1}", str, dictionary.Item(str)) 
Next 
관련 문제