C# 传递和分配多维数组
我已经传递了一个多维数组作为参数;但是,我不知道将其分配给新的多维阵列(新阵列)的最佳方式是什么 例如:C# 传递和分配多维数组,c#,C#,我已经传递了一个多维数组作为参数;但是,我不知道将其分配给新的多维阵列(新阵列)的最佳方式是什么 例如: double[, , , ,] results; object[,] scales; public plot(double[, , , ,] x, object[,] y) { results= x; scales = y; } 我想这就是你要找的 您的代码: double[,,,,] results; object[,] scale
double[, , , ,] results;
object[,] scales;
public plot(double[, , , ,] x, object[,] y)
{
results= x;
scales = y;
}
我想这就是你要找的
您的代码:
double[,,,,] results;
object[,] scales;
public void Plot(ref double[,,,,] x, ref object[,] y)
{
results = x;
scales = y;
}
ref和out之间的差异是数组类型参数的out在传递给参数之前不需要初始化数组;相比之下,ref需要数组的初始化。这取决于您所说的“新数组”是什么意思。如果这意味着将变量“x”中的数组赋值给result,那么您做得非常好。但如果您打算创建“x”的新副本,则可以使用以下函数:
double[,,,,] results;
object[,] scales;
public plot(double[, , , ,] x, object[,] y)
{
results = (double[, , , ,])x.Clone();
scales = (object[,])y.Clone();
}