字典和混合字典有什么区别? 两次拿一把钥匙和价值,哪个更符合表现?
混合词典:
Dim myCol As New HybridDictionary()
myCol.Add("Braeburn Apples", "1.49")
字典:
Dim dictionary As New Dictionary(Of String, Integer)
dictionary.Add("Dot", 20)
答案 0 :(得分:1)
HybridDictionary
在集合较小时使用ListDictionary
,在集合较大时使用Hashtable
。
它通常比Dictionary
更高效(至少当少于10个项目时,否则它应该几乎相同),但是当集合从List
变为{时,会有一个点击{1}}(当你超过10个项目时,必须将列表复制到哈希表中)。
Hashtable
(与普通HybridDictionary
相比)的推荐用法是大部分时间收集的时间都很小(同样,根据当前实施情况,<10项),但有一个它会变大的可能性。
正如在使用中(与Dictionary
或ListDictionary
相比),因为HashTable
使用泛型),没有区别,它只是表现的东西。
我的建议:除非有特殊需要,否则请勿使用Dictionary
。
由于它没有使用泛型,正如@adrianm在评论中指出的那样,如果使用值类型,它将导致装箱和拆箱,这会带来性能成本。
而且由于只有不到10件物品的速度要快一点,即使在HybridDictionary
上,10件物品也不会有很大的性能损失......除非真的至关重要,根本不需要使用它。