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.
int[][] arrays = lst.Select(a => a.ToArray()).ToArray();