Как я понимаю, это ограничение на 2 ГБ для отдельных экземпляров в .NET. Я не обращал на это большого внимания, так как до сих пор я работал над 32-разрядной ОС. На 32, но это более или менее искусственное ограничение в любом случае. Тем не менее, я был очень удивлен, узнав, что это ограничение также применяется к 64-битным .NET.
Так как коллекции, такие как List<T>
, используют массив для хранения элементов, это означает, что приложение .NET, работающее на 32-битной основе, сможет удерживать в списке в два раза больше элементов ссылочного типа по сравнению с тем же приложением, запущенным на 64 немного. Это довольно удивительно.
Кто-нибудь знает, исправлено ли это ограничение в CLR 4.0 (на данный момент у меня нет установки 4.0).