問題

ほとんどのプログラミング言語では、辞書はハッシュテーブルよりも優先されます。 その背後にある理由は何ですか?

  ベストアンサー

それが価値あるものについては、辞書は(概念的に)ハッシュテーブルです。

あなたが "なぜHashtableクラスの代わりにDictionary<TKey, TValue>クラスを使用するのですか?"という意味であれば、それは簡単な答えです:Dictionary<TKey, TValue>はジェネリック型であり、Hashtableはそうではありません。つまり、ランダムなオブジェクトを挿入することができないため、Dictionary<TKey, TValue>で型の安全性を得ることができ、取り出す値をキャストする必要はありません。

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

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

ソース

  同じタグがついた質問を見る

c#.netvb.netdata-structures