OrderedDictionary、ListDictionary、HybridDictionaryの3つの辞書が必要です。いずれもソートされていないので、コレクションの要素はすべてのキーでキーで取り出すことができます。だから、3つのクラスの目的は何ですか?OrderedDictionary、ListDictionary、HybridDictionaryの必要性
は、一言で言えばあなたに
OrderedDictionary、ListDictionary、HybridDictionaryの3つの辞書が必要です。いずれもソートされていないので、コレクションの要素はすべてのキーでキーで取り出すことができます。だから、3つのクラスの目的は何ですか?OrderedDictionary、ListDictionary、HybridDictionaryの必要性
は、一言で言えばあなたに
ありがとう:
Dictionary
- まあ、辞書。
ListDictionary
- 小さなコレクション、典型的には10未満のアイテム
HybridDictionary
ために使用 - 回収サイズが不明な場合に使用が
OrderedDictionary
(コレクションのサイズに応じて実装を切り替えます) - OrderedDictionaryの要素は、SortedDictionary<TKey, TValue>
クラスの要素とは異なり、キーによってソートされません。キーまたはインデックスのいずれかで要素にアクセスできます。カイルの答えを補完するために
:
OrderedDictionaryキーとインデックスで検索することができます(それは内部的にハッシュテーブルを使用して、配列)が、項目ごとに大きなオーバーヘッドが
ListDictionaryはとしてリンクされたリストを持っていますその内部構造では、キーによる挿入と検索ではうまく機能しませんが、元の挿入順序を維持します。
HybridDictionaryは辞書に多くの項目が含まれず、Hashta (私は個人的には、C#2以降、代わりにという辞書を使うべきだと思う)
'ListDictionary'と' OrderedDictionary'の主な違いを忘れてはいけません。前者は順序を保持しません。 'ListDictionary'という名前はちょっと混乱します(あなたがハイブリッドバージョンを持っていると私の意見では必要ありません)。 – nawfal
これはいい記事です...しかし、OrderedDictionaryの必要性はまだあります私に心配? – Batrickparry
@Novice - 申し訳ありませんが、それを逃しました - 今、さらに情報を追加してください。 –
私の推測では、キーが注文されています。 –