Maison >développement back-end >C++ >Comment puis-je diviser une collection en plusieurs parties à l'aide de LINQ ?
Diviser une collection en parties à l'aide de LINQ
Cet article explore un problème courant dans l'analyse et la programmation de données : diviser un ensemble en n sous-ensembles différents.
Solution LINQ :
LINQ fournit une solution simple et élégante pour cette tâche. La méthode d'extension suivante Split<T>
permet d'obtenir le résultat attendu :
<code class="language-csharp">static class LinqExtensions { public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts) { int i = 0; var splits = from item in list group item by i++ % parts into part select part.AsEnumerable(); return splits; } }</code>
Instructions :
Split<T>
accepte deux paramètres : la collection d'entrée (list
) et le nombre de parties en lesquelles la diviser (parts
). i
à zéro, qui servira d'index de l'élément groupé. group by
pour créer des groupes basés sur le modulo de i
et parts
. Cela garantit que les éléments sont attribués à différentes parties en fonction de leur position dans la collection d'origine. IEnumerable<T>
objets, chaque objet représentant une partie de la collection originale. Cette solution fournit un moyen pratique et lisible de diviser une collection en sous-ensembles à l'aide de LINQ.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!