如何将List <List >转换为多维数组

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

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

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

LINQ很容易:

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

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

你可以使用linq轻松完成。

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

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

如何循环嵌套列表

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

你需要用循环来做这件事。

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

你去!