Можете ли вы использовать List <List <struct >>, чтобы обойти ограничение в 2 ГБ?

Я сталкиваюсь с лимитом объекта 2 ГБ в c # (это применимо даже в 64-битной среде по какой-то раздражающей причине) с большим набором структур (например, размером 4,2 гигабайта).

Теперь очевидно, что использование List даст мне список размером 4.2Gb, который можно сдавать или брать, но будет ли использование списка, состоящего из меньших списков, которые в свою очередь содержат часть структур, позволить мне преодолеть этот предел?

Мое рассуждение здесь заключается в том, что это только жестко заданный предел в CLR, который мешает мне создавать экземпляр 9-гигабайтного объекта на моей 64-битной платформе, и он полностью не связан с системными ресурсами. Списки и массивы также являются ссылочными типами, поэтому список, содержащий списки, будет фактически содержать только ссылки на каждый список. Поэтому ни один объект не превышает ограничение по размеру.

Есть ли причина, по которой это не сработает? Я бы попробовал это прямо сейчас, но у меня нет профайлера памяти для проверки.

Ответы на вопрос(5)

Ваш ответ на вопрос