1

如何在 C# 中将 1000000 个值添加到 Dictionary 中时提高内存使用率和性能。

在添加大量记录时,我收到“系统内存不足”异常。

任何人都可以帮助解决这个问题。

我的字典将如下所示。

    Dictionary<string, List<string>>

提前致谢。

4

1 回答 1

2

你在字典中编码什么?你如何添加它?也许 Linq 扩展ToLookup可能更适合这里。ILookup提供或多或少与创建IDictionary<TKey,IList<TValues>>

否则...在设置字典的大小时要明确:

new Dictionary<string,List<string>>(int capacity)

以及您存储在其中的 List 实例

new List<string>(int capacity)

这会阻止不断增长的算法(达到时容量翻倍)被部署并破坏内存。

于 2012-06-22T09:52:51.123 回答