Есть 2 ограничения
Само по себе вы ограничены тем, что 64-битная Windows будет предоставлять в качестве адресуемого пространства - это составляет 8 ТБ. Когда будущая версия 64-битной Windows расширится до этого максимума, вы увидите, что это немедленно отражается в приложениях .NET, работающих на 64-битной среде CLR, - в 64-битном адресном пространстве нет жестких ограничений или архитектурного ограничения .NET.
Однако .NET имеет жестко заданное ограничение 2 ГБ на объект . Единственный реальный способ достичь этого - определить действительно большие массивы, такие как new int[1000000000]
. Это также является основной причиной ограничения (за исключением некоторых проблем с фрагментацией памяти), поскольку стандарт платформы .NET определяет индексы массива как int
.