C #: исключение нехватки памяти

Сегодня мое приложение выдало исключение OutOfMemoryException . Для меня это всегда было почти невозможно, так как у меня 4 ГБ ОЗУ и много виртуальной памяти. Ошибка произошла, когда я попытался добавить существующую коллекцию в новый список.

List<Vehicle> vList = new List<Vehicle>(selectedVehicles);  

Насколько я понимаю, здесь выделено не так много памяти, поскольку автомобили, которые должен содержать мой новый список, уже существуют в памяти. Я должен признать Автомобиль - очень сложный класс, и я попытался добавить около 50 000 пунктов в новый список сразу. Но поскольку все Vehicle в приложении берутся из базы данных размером всего 200 МБ: я понятия не имею, что может вызвать исключение OutOfMemoryException на данном этапе.

65
задан Wai Ha Lee 6 January 2016 в 08:39
поделиться