C# ではなぜ辞書がハッシュテーブルよりも優先されるのでしょうか? 質問する

C# ではなぜ辞書がハッシュテーブルよりも優先されるのでしょうか? 質問する

ほとんどのプログラミング言語では、ハッシュテーブルよりも辞書が好まれます。その理由は何でしょうか?

ベストアンサー1

ちなみに、辞書は(概念的には)ハッシュ テーブルです。

Dictionary<TKey, TValue>「なぜ クラスではなく クラスを使用するのですかHashtable?」という質問であれば、答えは簡単です。Dictionary<TKey, TValue>はジェネリック型ですが、はジェネリックHashtable型ではありません。つまり、 では型の安全性が確保されますDictionary<TKey, TValue>。 に任意のオブジェクトを挿入できず、取り出す値をキャストする必要がないためです。

興味深いことに、Dictionary<TKey, TValue>.NET Framework での実装は に基づいていますHashtable。これは、ソース コード内の次のコメントからわかります。

汎用辞書はHashtableのソースからコピーされました

ソース

おすすめ記事