如何转换List <list <int>&gt;到多维数组</list <int>

时间:2011-06-04 17:37:42

标签: c# arrays

将列表转换为int[][]类型的数组的最佳方法是什么?

List<List<int>> lst = new List<List<int>>();

4 个答案:

答案 0 :(得分:48)

int[][] arrays = lst.Select(a => a.ToArray()).ToArray();

答案 1 :(得分:5)

使用LINQ很容易:

lst.Select(l => l.ToArray()).ToArray()

如果你真的想要二维数组(int[,],而不是int[][]),那将会更加困难,最好的解决方案可能就是使用嵌套的for

答案 2 :(得分:2)

你可以使用linq轻松完成。

int[][] arrays = lst.Select(a => a.ToArray()).ToArray();

但是如果你想要另一种方式,你可以遍历列表并手动生成二维数组。

how to loop through nested list

答案 3 :(得分:0)

没有库函数可以做到这一点。

您需要使用循环执行此操作。

int[][] newlist = new int[lst.Size][];
for (int i = 0; i < lst.Size; i++)
{
    List<int> sublist = lst.ElementAt(i);
    newlist[i] = new int[sublis.Size];
    for (int j = 0; j < sublist.Size; j++)
    {
        newlist[i][j] = sublist.ElementAt(j);
    }
}

你去吧!