For my programming exercise in C#, I am trying to create an array of long, with a length of 0x1fffffff (536,870,911 in base10), however I got System.OutOfMEmoryException.
For the build, I targeted x64 system, and I am running VisualStudio2008 on Windows7 x64 with 8GB of RAM. It should be enough memory for the array (it works on JDK x64 and CPP project)
Any thoughts ?
        const long MAX = 0x1fffffff; // 536870911 in base10
        program.arr = new long[MAX];
        for (long i = 0; i < MAX; i++)
        {
            program.arr[i] = i;                
        }
                The CLR doesn't support any single object of size greater than about 2GB. You're asking for an array of 4,294,967,288 bytes - over twice what's supported.
You can use that much memory, but not in a single object (such as an array).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With