Ответ 1
int[][] arrays = lst.Select(a => a.ToArray()).ToArray();
Каков наилучший способ преобразования lst в массив типа 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
s.
вы можете легко сделать это с помощью 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);
}
}
Там вы идете!