我正在尝试分配一个非常大的多维浮点数组,但当超过某些维度时会出现内存不足异常问题。
//Doesn't crash
float[,] newArr = new float[40000, 5000];
//Crashes
float[,] newArr1 = new float[45000, 5000];
//Doesn't crash
float[,] newArr2 = new float[40000000, 5];
//Crashes
float[,] newArr3 = new float[45000000, 5];
我不确定问题出在哪里,我知道数组大小上限为2GB和40亿个元素,但这两种方法都不能限制。此外,我无法使用其他数据结构,因为我需要将[,]传递给外部API调用。有人知道这里可能发生了什么吗? 谢谢!