Maison >développement back-end >C++ >Comment LINQ peut-elle diviser efficacement une liste en sublilistes d'une taille spécifiée?
Utiliser la liste de segmentation efficace LINQ
Linq fournit une méthode de traitement des données simple et puissante pour l'application .NET, y compris la fonction de division de la liste en sous-liste selon diverses conditions.
Considérez les problèmes suivants: vous avez un
, vous devez le diviser en plusieurs sous-listes de l'objet, et la taille de chaque liste d'enfants est déterminée par l'index. Par exemple, la liste originale contient les éléments suivants: List<T>
T
<code>[a, g, e, w, p, s, q, f, x, y, i, m, c]</code>
La taille de la sous-liste peut être spécifiée en tant que paramètre de fonction.
<code>[a, g, e], [w, p, s], [q, f, x], [y, i, m], [c]</code>
Une solution utilisant LINQ est la suivante:
Ce code exécute les étapes suivantes:
<code class="language-csharp">public static List<List<T>> Split<T>(IList<T> source, int sublistSize) { return source .Select((x, i) => new { Index = i, Value = x }) .GroupBy(x => x.Index / sublistSize) .Select(x => x.Select(v => v.Value).ToList()) .ToList(); }</code>
Selon le groupe d'index
GroupBy
Sélectionnez la sous-liste sublistSize
: Select
pour convertir le groupe en liste. ToList
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!