私はDictionary<string, Item>
を使用して自分のアイテムを保管しています。
辞書を使用する理由は、キーが一意でアクセスが高速であるためです。辞書アイテムの注文
ほとんどの場合、私は単一の項目にアクセスするためにのみ、辞書を使用します。しかし、あるケースでは、私は辞書をループする必要があります - ここでは、アイテムを追加するためにそれらを追加する必要があります。
辞書は内部的にハッシュテーブルを使用していますが、どのように構成されているのか分かりません。
質問:
ディクショナリ内の項目は、追加された順番に並べられていますか?
商品が追加または削除された場合、注文はどうなりますか?
順序付けられた辞書には、C#で 'OrderedDictionary'を使用できます。MSDNを参照してください。http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary.aspx – wudzik
この素晴らしい答えを見てみましょう同じ話題で http://stackoverflow.com/questions/6384710/why-is-a-dictionary-not-ordered?rq=1 –
@KingKing: 'OrderedDictionary'もHashTable(配列の横に)として実装されていますが、順序付けられました。しかし、たとえそれがHashTable実装であることが分かっていても、必ずしもそれが本質的に順序付けられていないことを知る必要はありません。 –