Bat*_*rry 10 .net c# collections
当所有这些词典执行类似的功能时,需要三个不同的词典 - OrderedDictionary,ListDictionary和HybridDictionary?
它们都没有被排序,并且可以通过所有这些中的键来检索集合的元素.那么,三个不同类的目的是什么?
Kyl*_*ndo 14
简而言之:
Dictionary - 好吧,一本字典.
ListDictionary - 用于小型集合,通常少于10个项目
HybridDictionary - 在集合大小未知时使用(根据集合的大小切换实现)
OrderedDictionary- 与类的元素不同,OrderedDictionary的元素不按键排序SortedDictionary<TKey, TValue>.您可以通过键或索引访问元素.
为了补充凯尔的答案:
OrderedDictionary允许按键和索引进行检索(它在内部使用哈希表和数组),但每个项目的开销更大
ListDictionary有一个链表作为其内部结构,它不能很好地按键插入和检索,但保留原始的插入顺序
如果字典不包含很多项目,HybridDictionary是一个ListDictionary,如果项目数量达到特定限制,则转换为Hashtable(我个人认为你应该使用Dictionary <,>而不是C#2以后的字典)
| 归档时间: |
|
| 查看次数: |
4106 次 |
| 最近记录: |