3

サイズのバイト配列の割り当てがint.MaxValue失敗する理由

    byte[] array1 = new byte[int.MaxValue]; // throws an OutOfMemoryException 

サイズの2つの配列の割り当ては そうでint.MaxValue / 2はありませんか?

    byte[] array2 = new byte[int.MaxValue / 2];
    byte[] array3 = new byte[int.MaxValue / 2];
4

3 に答える 3

5

.NET のオブジェクトの最大サイズは 2 GB です: http://blogs.msdn.com/b/joshwil/archive/2005/08/10/450202.aspx

int.MaxValue + 配列のオーバーヘッドは 2 GB よりわずかに大きくなります。

于 2012-06-03T03:08:03.820 に答える
0

c# の int.MaxValue の値はわかりませんが、.Net では 2GB を超えるオブジェクトは許可されていないと思います

于 2012-06-03T03:11:15.723 に答える