ハッシュテーブルの順番が意図したとおりに並ばない への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 はっしゅ  (学生) 投稿日時 2009/1/8 18:38:49
鍵さん。ありがとうございます。
すみません。調査不足でした。
投稿者   (社会人) 投稿日時 2009/1/8 05:22:05
Keysプロパティから取得することができます。

OrderedDictionary メンバ
http://msdn.microsoft.com/ja-jp/library/system.collections.specialized.ordereddictionary_members(VS.80).aspx

OrderedDictionary.Keys プロパティ
http://msdn.microsoft.com/ja-jp/library/system.collections.specialized.ordereddictionary.keys(VS.80).aspx
投稿者 はっしゅ  (学生) 投稿日時 2009/1/7 23:10:31
鍵さん。ありがとうございます。
順番を保持できるようになりました。

ただKeyの取得方法はどうすればよいのでしょうか。
教えていただけないでしょうか。
よろしくお願いします。
投稿者   (社会人) 投稿日時 2009/1/7 21:35:59
こんにちは。

追加した順番を保持したいのですよね?
System.Collections.Specialized名前空間の
OrderedDictionaryクラスなら順序を保持できるようです。

「Sortedlistに関して」
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=39206&forum=7
投稿者 はっしゅ  (学生) 投稿日時 2009/1/7 19:35:00
ソーテッドリストだとKeyが1,2,9の順に並びます。
ソーテッドリストを使えばいいんでしょうか?
投稿者 はっしゅ  (学生) 投稿日時 2009/1/7 19:26:53
ハッシュテーブルを追加した順番に並べたいのですが、うまくいきません。
ご教授よろしくお願いします。

ハッシュテーブルのKeyが2,9,1もしくは、1,9,2のように並んでほしいのですが、
9,1,2の順に並んでいます。


        Dim ary() As String = {"aa""bb""cc"}
        Dim stary() As String = {"2""9""1"}
        Dim hash As New Hashtable
        For i As Integer = 0 To ary.Length - 1
            hash(stary(i)) = ary(i)
        Next