我想截断一个立方体。
如果我有一个1d阵列,我可以这样做:
var oldarray = new double[n];
var newarray = new double[m];
Array.Copy(oldarray, newarray, m);
对于较小的n,显然oldarray会存储一些数据......
我想在立方体上做同样的事情,例如:
var oldarray = new double[n,n,n];
var newarray = new double[m,m,m];
Array.Copy(oldarray, newarray, m);
请问最快(最高效)的方式? (除了使用三重循环)谢谢。
答案 0 :(得分:2)
您仍然可以使用Array.Copy
,然后使用多维的:
for (int i = 0 ; i < m ; i++)
{
Array.Copy(oldarray, i, newarray, i, oldarray.GetLength(i));
}