recorrer multidimensional jagged examples create bidimensional array c# arrays

c# - jagged - Cómo convertir Lista<Lista<int>> a matriz multidimensional



multidimensional array c# examples (4)

¿Cuál es la mejor manera de convertir una lista en una matriz de tipo int[][] ?

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


Es fácil con LINQ:

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

Si realmente quisiera una matriz bidimensional ( int[,] , no int[][] ), eso sería más difícil y la mejor solución probablemente sería usar anidado for s.


No hay ninguna función de biblioteca para hacer esto.

Tendrás que hacer esto con los bucles.

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); } }

¡Ahí tienes!


Puedes hacerlo fácilmente usando linq.

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

pero si desea otra forma, puede recorrer la lista y generar manualmente la matriz 2d.

cómo recorrer la lista anidada


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