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!