OrderedDictionary,ListDictionary和HybridDictionary有什么需要?`

时间:2011-01-07 06:38:28

标签: c# .net collections

当所有词典执行类似的功能时,需要三个不同的词典 - OrderedDictionary,ListDictionary和HybridDictionary?

它们都没有被排序,并且可以通过所有这些中的键来检索集合的元素。那么,三个不同类的目的是什么?

2 个答案:

答案 0 :(得分:14)

简而言之:

答案 1 :(得分:6)

补充凯尔的回答:

OrderedDictionary允许按键和索引进行检索(它在内部使用哈希表和数组)但每个项目的开销更大

ListDictionary有一个链表作为其内部结构,它不能很好地按键插入和检索,但保留原始的插入顺序

HybridDictionary是一个ListDictionary,如果字典不包含很多项目,并且如果项目数量达到特定限制则转换为Hashtable(我个人认为你应该使用Dictionary&lt;,&gt;而不是C#2之后的<) / p>