2012-06-22 78 views
1

如何提高內存使用情況和性能,同時將1000000個值添加到C#中的Dictionary中。如何在向Dictionary中添加大量數據時提高性能?

雖然添加巨大的記錄,我得到「系統內存不足」異常。

任何人都可以幫忙。

我的字典將如下所示。

Dictionary<string, List<string>> 

在此先感謝。

+3

此刻你的代碼是什麼樣的? – ChrisBint

+0

你試圖在你的字典中放入的數據體積如何?畢竟,每個列表都可以包含許多項目,以及字典中的許多條目...... – BugFinder

+0

http://stackoverflow.com/questions/3657181/very-large-collection-in-net-causes-out-內存不足的異常 – VS1

回答

2

什麼是你的字典中的編碼?你如何加入它?也許Linq擴展ToLookup可能在這裏更合適。 ILookup提供或多或少相同的功能創建一個IDictionary<TKey,IList<TValues>>

否則...設置字典的大小時要明確:你在其存儲

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

,也是List實例

new List<string>(int capacity) 

這會阻止正在部署的增長算法(達到時的容量翻倍)和抖動內存。

相關問題