Sae*_*ani 5 .net c# list multidimensional-array
可能重复:
如何将列表<>转换为多维数组?
我想double[,]为此目的有一个数组形式,因为我不知道这个数组的长度是多少,我想先做List一个然后再使用List<T>.ToArray()它转换为double[,]:
public double[,] FilterClampedData(double[,] data)
{
var finalData = new List<double[]>();
//Do some stuff on parameter
return finalData.ToArray(); ///Does not compile :(
}
Run Code Online (Sandbox Code Playgroud)
因为ToArray返回一维数组,所以难怪为什么这不能编译.但是如果你回来了double[][],它会编译.您还可以使用两个嵌套循环手动构建二维数组:
var R = finalData.Count;
var C = finalData[0].Length;
var res = new double[R, C];
for (int r = 0 ; r != R ; r++)
for (int c = 0 ; c != C ; c++)
res[r, c] = finalData[r][c];
return res;
Run Code Online (Sandbox Code Playgroud)
上面的代码假设您至少有一个项目finalData,并且内部所有列表的长度finalData是相同的.