相关疑难解决方法(0)

是否应该初始化.NET通用字典,其容量等于它将包含的项目数?

如果我有100个项目存储在字典中,我应该如此初始化它吗?

var myDictionary = new Dictionary<Key, Value>(100);
Run Code Online (Sandbox Code Playgroud)

我的理解是.NET字典在达到给定加载时在内部自行调整大小,并且加载阈值被定义为容量的比率.

这表明如果在上面的字典中添加了100个项目,那么当添加其中一个项目时它会自行调整大小.调整字典大小是我想要避免的,因为它会影响性能并浪费内存.

散列碰撞的概率与字典中的加载成比例.因此,即使字典没有自己调整大小(并使用其所有插槽),性能也必须因这些冲突而降低.

假设您知道字典中有多少项,那么应该如何最好地决定将字典初始化的能力?

.net hash dictionary capacity

13
推荐指数
3
解决办法
4210
查看次数

标签 统计

.net ×1

capacity ×1

dictionary ×1

hash ×1