字典和混合字典之间的区别

时间:2015-09-11 06:52:30

标签: vb.net dictionary

字典和混合字典有什么区别? 两次拿一把钥匙和价值,哪个更符合表现?

混合词典:

Dim myCol As New HybridDictionary()
myCol.Add("Braeburn Apples", "1.49")

字典:

Dim dictionary As New Dictionary(Of String, Integer)
dictionary.Add("Dot", 20)

1 个答案:

答案 0 :(得分:1)

HybridDictionary在集合较小时使用ListDictionary,在集合较大时使用Hashtable

它通常比Dictionary更高效(至少当少于10个项目时,否则它应该几乎相同),但是当集合从List变为{时,会有一个点击{1}}(当你超过10个项目时,必须将列表复制到哈希表中)。

Hashtable(与普通HybridDictionary相比)的推荐用法是大部分时间收集的时间都很小(同样,根据当前实施情况,<10项),但有一个它会变大的可能性。

正如在使用中(与DictionaryListDictionary相比),因为HashTable使用泛型),没有区别,它只是表现的东西。

我的建议:除非有特殊需要,否则请勿使用Dictionary

由于它没有使用泛型,正如@adrianm在评论中指出的那样,如果使用值类型,它将导致装箱和拆箱,这会带来性能成本。

而且由于只有不到10件物品的速度要快一点,即使在HybridDictionary上,10件物品也不会有很大的性能损失......除非真的至关重要,根本不需要使用它。