今天我的应用程序抛出了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