gpt4 book ai didi

c# - 为什么分配一个 int.MaxValue 的数组会失败,而分配两个大小为 int.MaxValue/2 的数组却不会?

转载 作者:行者123 更新时间:2023-11-30 15:38:59 25 4
gpt4 key购买 nike

为什么分配大小为int.MaxValue 的字节数组失败

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

并且分配两个大小为 int.MaxValue/2 的数组不是吗?

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

最佳答案

.NET 中对象的最大大小为 2GB:http://blogs.msdn.com/b/joshwil/archive/2005/08/10/450202.aspx

int.MaxValue + 数组开销略大于 2 GB。

关于c# - 为什么分配一个 int.MaxValue 的数组会失败,而分配两个大小为 int.MaxValue/2 的数组却不会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10867579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com