Я сталкиваюсь с ограничением объекта 2gb в С# (это относится даже к 64-битным по какой-то досадной причине) с большой коллекцией структур (всего размером 4,2 гигабайта).
Теперь очевидно, что использование List даст мне список размера 4.2gb, который даст или возьмет, но будет использовать список, состоящий из меньших списков, которые, в свою очередь, содержат часть структур, позволяют мне перескакивать этот предел?
Мое рассуждение заключается в том, что в CLR ограничивается только жестко запрограммированный предел, который мешает мне создать экземпляр объекта 9gig на моей 64-битной платформе и полностью не связан с системными ресурсами. Также списки и массивы являются ссылочными типами, поэтому список, содержащий списки, будет содержать только ссылки на каждый список. Поэтому ни один объект не превышает ограничение размера.
Есть ли причина, почему это не сработает? Я бы попробовал это сам прямо сейчас, но у меня нет профайлера памяти для проверки.