2012-03-14 18 views
1

私はDictinary(Of String、Item)を持っており、アイテム名でアルファベット順にソートしようとしています。私はソートされた辞書を使用したくないし、それがなければ、私は運がゼロだ。 LINQのはVB.NET:アルファベット順の辞書

Public Class Item 
    Public Property name As String 
    Public Property size As String 
    Public Property price As Decimal 
    Public Property timeMachine As Boolean 
End Class 
+0

あなたはIsortableを実装する必要があり、いくつかの他のインターフェイスや用途に応じて辞書の値をフェッチ、キーのリストを取得します。 SortedDictionaryまたはこれらのインタフェースを実装するその他のリストクラス –

+0

SortedDictionaryを使用しないのはなぜですか? – Heinzi

答えて

4

Dictionary(Of TKey, TValue)は本質的に順序付けられていないタイプである...私の強いポイントではありません。 1つを並べ替える方法はありません。代わりに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 
関連する問題