Not that I would ever need to do this, but I want to understand how it works/doesn't work. I googled quite a bit for the maximum length of an array and can't really find anything.
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());
And I guess a follow up question would be, if there is a limit and I am initializing outside that limit, why no exception when creating only when using? And is this something the compiler should catch?