Почему массивы C # по-прежнему ограничены ~ 2,1 млрд элементов - PullRequest
0 голосов
/ 14 апреля 2019

В .Net 4.5 gcAllowVeryLargeObjects был представлен, чтобы разрешить массивы размером более 2 ГБ для 64-битных систем.Однако массивы были (и остаются) ограничены ~ 4,2 млрд. Элементов и ~ 2,1 млрд. В любом измерении.Почему?

Нет никакого интереса к этому или к реальной проблеме, которая мешает им иметь индексаторы размера слова в базовых классах .Net (массивы, списки и т. Д.)?

C # уже допускает тип longИндексаторы в пользовательских классах и изменение индексаторов с int на long для 64-битных сборок было бы неразрывным (я считаю), поскольку int всегда можно привести к long.

1 Ответ

0 голосов
/ 14 апреля 2019

Поскольку индекс массива является целым числом, а тип int в C # имеет максимальное значение.

...