首先,我得到了這個巨大的xml文件,它代表了設備收集的數據。我把它轉換成一個對象。實際上,這個對象有一個對象列表。這些對象有三個字符串。該字符串是這樣的:非常沉重的數據導致了foreach中的內存不足異常
0,12987; 0,45678; ...
這是某種形式的演出事宜安排這樣的雙列表。每個字符串中有1k個雙打,所以每個對象有3k個,並且有一些類似3k對象的東西,只是爲了讓您瞭解一個典型案例。
當我讀取數據時,我最常從objets中獲得所有雙打,並將它們添加到同一個列表中。我在foreach中創建了一個「包含三個雙精度的對象」(每個字符串對應一個),我得到每個對象,然後將我的字符串分解爲數組。之後,我循環將我的數組轉換爲「包含三個雙打的對象」列表,並將其全部添加到一個列表中,以便我可以將其用於進一步的操作。
它會在結束之前導致內存不足異常。想法?與linq的東西將是最好的。
我有什麼看起來是這樣的:
也許你可以發佈你的代碼;) – ken2k 2012-01-30 14:34:04
段落可以使它更容易閱讀。 :) – 2012-01-30 14:35:51
3k * 3雙打〜250k字節,不夠OOM – 2012-01-30 14:39:17