byte[] buffer2 = new byte[4294743227]; // string with System.OverflowException
数字4294743227是单位。
为什么我会得到异常?
发布于 2018-06-16 03:15:18
根据this question的说法,数组的最大大小是System.Int32.MaxValue
,它是2,147,483,647。
另请参阅有关System.Array
的文档
默认情况下,阵列的最大大小为2 GB。在64位环境中,可以通过在运行时环境中将gcAllowVeryLargeObjects配置元素的enabled属性设置为true来避免大小限制。但是,该数组仍将限制为总共40亿个元素,并且在任何给定维度上的最大索引为0X7FEFFFFF (字节数组和单字节结构的数组为0X7FFFFFFC7)。
https://stackoverflow.com/questions/50881437
复制相似问题