如何转换列表<;列表<;int>>;到数组的数组
本文关键字:gt 列表 数组 lt int 转换 何转换 | 更新日期: 2023-09-27 17:58:20
将列表转换为类型为int[][]
的数组的最佳方法是什么?
List<List<int>> lst = new List<List<int>>();
int[][] arrays = lst.Select(a => a.ToArray()).ToArray();
使用LINQ很容易:
lst.Select(l => l.ToArray()).ToArray()
如果你真的想要二维数组(int[,]
,而不是int[][]
),那会更困难,最好的解决方案可能是使用嵌套的for
。
您可以使用linq轻松完成。
int[][] arrays = lst.Select(a => a.ToArray()).ToArray();
但是如果你想要另一种方式,你可以循环浏览列表并手动生成2d数组。
如何循环嵌套列表
没有库函数可以做到这一点。
您需要使用循环来完成此操作。
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);
}
}
给你!
如果您对使用List<int[]>
而不是List<List<int>>
没有任何限制,请使用List<int[]>
,然后在列表对象末尾使用.ToArray()
将其转换为数组的数组。
首次将List<List<int>>
转换为List<int[]>
的示例
List<int[]> listOfArray=new List<int[]>();
List<List<int>> yourList=[someValue];
foreach(var listItem in yourList){
listOfArray.Add(listItem.ToArray());
}
List<int[]>
至int[][]
示例:
int[][] jaggedArray= listOfArray.ToArray(); //voila you get jagged array or array of array