在大多数编程语言中,字典比哈希表更受青睐。背后的原因是什么?
对于它的价值,字典 在 概念上 是 一个哈希表。
如果您的意思是“为什么我们使用Dictionary<TKey, TValue>类而不是Hashtable类?”,那么这是一个简单的答案:Dictionary<TKey, TValue>是泛型类型,Hashtable不是。这意味着您可以使用来获得类型安全性Dictionary<TKey, TValue>,因为您不能在其中插入任何随机对象,也不必强制转换取出的值。
Dictionary<TKey, TValue>
Hashtable
有趣的是,Dictionary<TKey, TValue>.NET Framework中的实现基于Hashtable,您可以从其源代码中的此注释中看出:
通用字典是从Hashtable的来源复制而来的
资源