• 締切済み

vb2010 文字列の辞書による並び替えの方法

文字変数を内容により並び替えたいのですが。 moji(1)="aaaaa":moji(2)="cc":moji(3)="b"のとき 1,3,2という結果が出せるプログラムを教えていただけないでしょうか。 文字変数の中身が同じだったりすると、うまく動きません。

みんなの回答

回答No.2

すいません、書き忘れました。 SortedDictionaryはクイックソートになります。 並び替えをオリジナルにする場合はIComparerインターフェイスを利用してください。

すると、全ての回答が全文表示されます。
回答No.1

こんにちは SortedDictionaryを使うとKeyで並び替えが出来ます。 サンプルです。 Private Sub f() Handles MyBase.Shown '文字をリストにする 並び替え Dim moji As New SortedDictionary(Of String, Integer) moji.Add("aaaaa", 1) moji.Add("cc", 2) moji.Add("b", 3) moji.Add("d", 4) moji.Add("faaaaa", 5) moji.Add("e", 6) '並び替えの確認 For Each str As KeyValuePair(Of String, Integer) In moji ListBox1.Items.Add(str.Key & " " & str.Value) Next End Sub

payphone
質問者

お礼

回答ありがとうございます。 変数に同じ値を入れるとやはり同じキーが既に出ていますとエラーメッセージがでました。 リストボックスを使わずにコードだけでなんとかならないでしょうか。

すると、全ての回答が全文表示されます。

関連するQ&A