Как лучше всего преобразовать список в массив типа int[][]?
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.
int[,]
for
Вы можете легко сделать это, используя linq.
но если вам нужен другой способ, вы можете перебрать список и вручную сгенерировать массив 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); } }
Вот, пожалуйста!