System.Collections.Generic.Dictionary<TKey,TValue>和
System.Collections.Hashtable类都在内部维护哈希表数据结构。 它们都不能保证保留项目的顺序。
除了装箱/拆箱问题外,大多数情况下,它们应该具有非常相似的性能。
它们之间的主要结构差异是
Dictionary依靠 链接 (为每个哈希表存储桶维护一个项目列表)来解决冲突,而
Hashtable使用
重新哈希化 来解决冲突(当发生冲突时,尝试使用另一个哈希函数将键映射到存储桶) 。
Hashtable如果您针对.NET framework 2.0+ ,则使用类几乎没有好处。有效地使它过时了
Dictionary<TKey,TValue>。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)