Comment convertir la liste <List > en tableau multidimensionnel

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à!