不是我永远不需要这样做,但我想了解它是如何工作/不工作的。我搜索了一个数组的最大长度,并且找不到任何东西。.NET阵列的最大尺寸
long[] hugeArray = new long[long.MaxValue];
//No exceptions
Console.WriteLine("Init");
//Overflow exception
Console.WriteLine(hugeArray.LongLength.ToString());
hugeArray = new long[int.MaxValue];
//OutOfMemoryException
Console.WriteLine(hugeArray.Length.ToString());
而且我想跟进的问题是,如果有一个限制,我认为初始化限制之外,为什么没有例外使用时只产生什么时候?这是编译器应该捕获的东西吗?
可能的重复[在64位Windows上的.NET中数组的最大长度是多少](http://stackoverflow.com/questions/2338778/what-is-the-maximum-length-of-an -array-在净上64位视窗) – skolima 2012-08-27 07:24:18