【发布时间】:2011-05-24 16:43:54
【问题描述】:
您好,我注意到我们在 C# 中既有哈希表实现,也有字典实现。但是,哈希表不是实现字典的一种方式。那么,为什么要两者都提供呢?不要他们做同样的事情。
【问题讨论】:
标签: c# data-structures
您好,我注意到我们在 C# 中既有哈希表实现,也有字典实现。但是,哈希表不是实现字典的一种方式。那么,为什么要两者都提供呢?不要他们做同样的事情。
【问题讨论】:
标签: c# data-structures
最佳答案来自Michael Madsen:Dictionary 是泛型类型,Hashtable 不是。这意味着您可以使用 Dictionary 获得类型安全,因为您不能将任何随机对象插入其中,并且您不必强制转换取出的值。
【讨论】:
字典是通用类型,哈希表不是
【讨论】:
类型转换
1- Hashtable 是一个非通用键值集合,需要运行时类型转换。
2- 字典是一个通用的键值集合,不需要运行时类型转换。
防撞
1- Hashtable 使用双重哈希避免冲突技术。
2- 字典使用链接来避免。
【讨论】: