我已经传递了一个多维数组作为参数;但是,我不知道将它分配给新的多暗阵列(一个新阵列)的最佳方法是什么
示例:
double[, , , ,] results;
object[,] scales;
public plot(double[, , , ,] x, object[,] y)
{
results= x;
scales = y;
}
答案 0 :(得分:0)
我认为Passing array using ref and out是您正在寻找的。
您的代码:
double[,,,,] results;
object[,] scales;
public void Plot(ref double[,,,,] x, ref object[,] y)
{
results = x;
scales = y;
}
ref 和 out 之间的差异是数组类型参数的 out ,在传递给参数之前不需要初始化数组;相比之下, ref 需要初始化数组。
答案 1 :(得分:0)
这取决于你的意思"一个新的"。如果它意味着将数组分配给变量' x'结果,你做得很好。但如果你的意思是创建一个新的' x'你可以使用Clone功能:
double[,,,,] results;
object[,] scales;
public plot(double[, , , ,] x, object[,] y)
{
results = (double[, , , ,])x.Clone();
scales = (object[,])y.Clone();
}