关于数据结构:C#中的哈希表和字典。

Both Hash tables and dictionary in C#. What is the diffence

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Why Dictionary is preferred over hashtable in C#?

嗨,我注意到我们在C中有一个哈希表实现和一个字典实现。但是,哈希表不是实现字典的一种方式吗?那么,为什么要两者兼顾呢?他们不要做同样的事。


在StackOverflow上已在此处应答

最好的答案来自迈克尔·马德森:字典是一种通用类型,哈希表不是。这意味着您可以使用字典获得类型安全性,因为您不能在字典中插入任何随机对象,并且您不必强制转换所取的值。


字典是泛型类型,哈希表不是


类型转换

1-哈希表是非泛型键值集合,需要运行时类型转换。

2-字典是通用键值集合,不需要运行时类型转换。

碰撞回避

1-哈希表使用双哈希来避免冲突。

2-字典使用链接来避免。

请参阅这里的msdn。