Maison >développement back-end >C++ >Comment diviser efficacement une liste en sublilistes de taille égale en utilisant LINQ?

Comment diviser efficacement une liste en sublilistes de taille égale en utilisant LINQ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-02-01 22:31:10716parcourir

How to Efficiently Split a List into Sublists of Equal Size Using LINQ?

Utilisez LINQ pour diviser la liste en une liste de sous-listes

En programmation, il est une opération courante de diviser la liste en sous-liste. Dans C #, une méthode efficace consiste à utiliser la fonction LINQ (Language Integrated Query). Discutons de la façon de diviser la liste en une sous-liste de taille égale.

En supposant que vous devez diviser une liste d'objets en une sous-liste avec une taille de trois. Pour cela, nous pouvons utiliser le code suivant:

Ce code associe d'abord chaque élément de la liste à son index. Par la suite, il a payé les éléments en fonction des résultats de l'indice des résultats des trois. Ce groupe crée une liste de taille égale. Enfin, il extrait les valeurs de chaque groupe dans une liste d'une liste.
<code class="language-csharp">public static List<List<T>> Split<T>(IList<T> source)
{
    return source
        .Select((x, i) => new { Index = i, Value = x })
        .GroupBy(x => x.Index / 3)
        .Select(x => x.Select(v => v.Value).ToList())
        .ToList();
}</code>

Afin d'expliquer ce processus, supposons que nous avons la liste originale suivante:

En appelant la fonction divisée, chaque groupe de trois éléments sera stocké dans une seule liste dans une liste d'une liste de résultats:
<code class="language-csharp">List<string> originalList = new List<string> { "a", "g", "e", "w", "p", "s", "q", "f", "x", "y", "i", "m", "c" };</code>

ResultList comprendra les listes suivantes:
<code class="language-csharp">List<List<string>> resultList = Split(originalList);</code>

En utilisant la syntaxe simple et efficace de LINQ, nous avons démontré comment diviser facilement la liste en une sous-liste de taille spécifiée. Cette méthode fournit une solution générale pour divers scénarios de fonctionnement des données.
<code>[["a", "g", "e"], ["w", "p", "s"], ["q", "f", "x"], ["y", "i", "m"], ["c"]]</code>

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!

Déclaration:
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