【发布时间】:2010-10-24 01:03:04
【问题描述】:
并不是说我永远需要这样做,但我想了解它是如何工作/不工作的。我用谷歌搜索了很多数组的最大长度,但实际上什么都找不到。
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());
我想一个后续问题是,如果有一个限制并且我在该限制之外进行初始化,为什么只在使用时创建时没有例外?这是编译器应该捕获的东西吗?
【问题讨论】: