Quel est le meilleur moyen de convertir une liste en un tableau de type int[][]
?
List<List> lst = new List<List>();
int[][] arrays = lst.Select(a => a.ToArray()).ToArray();
C’est facile avec LINQ:
lst.Select(l => l.ToArray()).ToArray()
Si vous vouliez vraiment un tableau à deux dimensions ( int[,]
, pas int[][]
), ce serait plus difficile et la meilleure solution serait probablement d’utiliser nested for
s.
vous pouvez facilement le faire en utilisant linq.
int[][] arrays = lst.Select(a => a.ToArray()).ToArray();
mais si vous voulez une autre façon, vous pouvez parcourir la liste et générer manuellement le tableau 2D.
comment parcourir la liste nestede
Il n’y a pas de fonction de bibliothèque pour faire cela.
Vous devrez le faire avec des boucles.
int[][] newlist = new int[lst.Size][]; for (int i = 0; i < lst.Size; i++) { List sublist = lst.ElementAt(i); newlist[i] = new int[sublis.Size]; for (int j = 0; j < sublist.Size; j++) { newlist[i][j] = sublist.ElementAt(j); } }
Voilà!