可能重复:
How can I convert a list<> to a multi-dimensional array?
我希望有一个double[,]
形式的数组用于此目的,因为我不知道这个数组的长度是多少,我想首先使用List
然后使用{{ 1}}将其转换为List<T>.ToArray()
:
double[,]
答案 0 :(得分:5)
由于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;
上面的代码假设您finalData
中至少有一个项目,并且finalData
内的所有列表的长度都相同。
答案 1 :(得分:1)
finalData.ToArray()
会生成double[][]
因为:
List<T>.ToArray()
返回T[]
List<T[].ToArray()
返回T[][]
答案 2 :(得分:1)