今天我的應用程序拋出了OutOfMemoryException
。對我來說,這總是幾乎不可能,因爲我擁有4GB RAM和大量虛擬內存。當我嘗試將現有集合添加到新列表時發生錯誤。C#:內存不足異常
List<Vehicle> vList = new List<Vehicle>(selectedVehicles);
據我瞭解,這裏沒有太多的內存分配在這裏,因爲我的新列表應該包含的車輛已經存在於內存中。我不得不承認Vehicle
是一個非常複雜的課程,我試圖一次將約50,000個項目添加到新列表中。但是由於應用程序中的所有Vehicle
都來自僅200MB大小的數據庫:我不知道此時可能會導致OutOfMemoryException
。
什麼是'selectedVehicles'的值(和類型)? – harold 2011-12-19 16:01:15
當拋出'OutOfMemoryException'時,你是否使用調試器附加到進程,並查看可能出現的問題?對象有多大?對於對象大小,.NET Framework的硬限制爲2 GB,減去框架本身消耗的開銷。 – 2011-12-19 16:05:00
車輛可能是一個結構而不是一個類? – 2011-12-19 16:05:58