一旦已知字典的大小是固定的,有没有办法削减它的容量?

phi*_*gon 5 .net c# dictionary trim capacity

阅读此问题的优秀答案后:

c#/。net 3.5词典如何实现?

我决定将初始容量设置为一个很大的猜测,然后在读取所有值后进行调整。我怎样才能做到这一点?也就是说,如何修剪字典,以便gc稍后收集未使用的空间?

我的目标是优化。我经常有大型数据集,小型数据集的时间损失是可以接受的。我想避免在大型数据集上重新分配和复制初始容量较小的数据所产生的开销。

Pha*_*e01 2

在 .NET 5 中,有一种方法TrimExcess完全按照您的要求进行操作:

将此字典的容量设置为最初使用其所有条目初始化时的容量。