Maison > développement back-end > C++ > Comment LINQ peut-elle diviser efficacement une liste en sublilistes d'une taille spécifiée?

Comment LINQ peut-elle diviser efficacement une liste en sublilistes d'une taille spécifiée?

Susan Sarandon
Libérer: 2025-02-01 22:36:13
original
648 Les gens l'ont consulté

How Can LINQ Efficiently Split a List into Sublists of a Specified Size?

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

La liste que vous souhaitez obtenir est:
<code>[a, g, e, w, p, s, q, f, x, y, i, m, c]</code>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

Selon le groupe d'index
    :
  1. La méthode est payée aux éléments de la liste des sources en fonction de l'indice des éléments, chaque groupe représente une sous-liste différente. Taille de la sous-ligne de contrôle des paramètres. GroupBy Sélectionnez la sous-liste sublistSize:
  2. La méthode est utilisée pour extraire les valeurs de chaque groupe en une nouvelle liste.
  3. Converti dans la liste de liste : Utilisez ensuite Select pour convertir le groupe en liste.
  4. Le résultat est un , chacun contenant les éléments spécifiés de la liste originale, et est divisé en fonction de l'indice du projet. En passant dans les paramètres , la taille de la sous-liste peut être contrôlée de manière flexible. 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal