在C ++中可以获取多维数组的切片,例如
double parallelopipedPts[8][3];
parallelopipedPts[0];
parallelopipedPts[1];
...
parallelopipedPts[7];
在C#中,我试图模仿这一点,并尝试
double[][] parallelopipedPts = new double[8][];
parallelopipedPts[0];
parallelopipedPts[1];
...
parallelopipedPts[7];
但是我遇到内存访问问题
如何解决呢?
最佳答案
在您的C#代码中,您创建了一个由8个“双精度数组”组成的数组。
该8个数组中的double数组尚未分配,因此为空。
您可以使用以下形式填充它:double-double-3-doubles(例如):
for (int i = 0; i < parallelopipedPts.Length; i++)
{
parallelopipedPts[i] = new double[3];
}
然后,您可以安全地使用子阵列。
关于c# - C#中的C++锯齿状数组切片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20483998/