传递和分配多暗阵列

时间:2014-03-30 05:54:22

标签: c#

我已经传递了一个多维数组作为参数;但是,我不知道将它分配给新的多暗阵列(一个新阵列)的最佳方法是什么

示例:

double[, , , ,] results;
object[,] scales;    
public plot(double[, , , ,] x, object[,] y)
    {
        results= x;
        scales = y;
    }

2 个答案:

答案 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();
}