中国开发网: 论坛: .NET/C#: 贴子 506065
没脾气2x: .NET 2.0 中的各种 Dictionary 区别
根据MSDN:

Dictionary<TKey,TValue>
未说明顺序的 Key/Index 集合。
通过 Key 来检索值的速度是非常快的,接近于 O(1),检索速度取决于为 Key 指定的类型的哈希算法的质量。
(实测中,进行枚举时 .NET 实现是顺序的,而 mono 实现则非顺序)

SortedDictonary<TKey,TValue>
检索运算复杂度为 O(log n) 的二叉搜索树,其中 n 是字典中的元素数。

OrderedDictionary
根据 Key 索引的 Key/Index 集体

ListDictionary
使用单链接列表实现 IDictionary。建议用于通常包含 10 个或 10 个以下项的集合。
诸如 Item、Add、Remove 和 Contains 之类的成员都是 O( n ) 运算,其中 n 是 Count。

HybridDictionary
在集合较小时,使用 ListDictionary 来实现 IDictionary,然后当集合变大时,切换到 Hashtable。



Dictionary 的所有的实现:
项并不一定按任何特定的顺序;代码不应依赖于当前顺序。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录