Comment diviser un tableau en deux tableaux?

J’ai un tableau et je veux le scinder en deux:

Maintenant: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

New_1: [0, 2, 4, 6, 8]

New_2: [1, 3, 5, 7, 9]

Alors, prenez le premier élément et sautez le suivant. Ça a l’air facile mais comment puis-je le faire avec C #?

Merci beaucoup

Vous pouvez utiliser linq , Enumerable.Where et obtenir le tableau avec des éléments ayant des index pairs et impairs .

 var New_1 = arr.Where((c,i) => i % 2 == 0).ToArray(); var New_2 = arr.Where((c,i) => i % 2 != 0).ToArray(); 

Vous pouvez obtenir l’index de l’élément de collection et appliquer la condition pour vérifier si index est pair ou impair et obtenir les tableaux en fonction.

Enumerable.Where, méthode (IEnumerable, Func) filtre une séquence de valeurs en fonction d’un prédicat. L’index de chaque élément est utilisé dans la logique de la fonction de prédicat. Le premier argument de prédicat représente l’élément à tester. Le deuxième argument représente l’index de base zéro de l’élément dans la source, msdn

Que diriez-vous de quelque chose comme

 int[] arr = new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int[] arr1 = arr.Where((x, i) => i % 2 == 0).ToArray(); int[] arr2 = arr.Where((x, i) => i % 2 == 1).ToArray(); 
 int[] arr = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int i = 0; List twoArr = arr.GroupBy(x => i++ % 2).Select(g => g.ToArray()).ToList();