Maison > développement back-end > C++ > Comment la méthode SelectMany () de Linq peut-elle aplatir une liste imbriquée des entiers?

Comment la méthode SelectMany () de Linq peut-elle aplatir une liste imbriquée des entiers?

Patricia Arquette
Libérer: 2025-01-26 15:36:09
original
366 Les gens l'ont consulté

How Can LINQ's SelectMany() Method Flatten a Nested List of Integers?

Utilisation de SelectMany () de Linq pour aplatir les listes entières imbriquées

Les requêtes LINQ produisent souvent des collections imbriquées, comme IEnumerable<List<int>>. La méthode SelectMany() s'aplatit efficacement en une seule liste.

Le défi:

Supposons qu'une requête LINQ renvoie une liste de listes d'entiers (IEnumerable<List<int>>). La tâche consiste à combiner ces listes intérieures en une seule dimension List<int>.

Exemple illustratif:

En commençant par ces listes d'entrée:

<code>[1, 2, 3, 4] and [5, 6, 7]</code>
Copier après la connexion

La sortie souhaitée est:

<code>[1, 2, 3, 4, 5, 6, 7]</code>
Copier après la connexion

Solution avec selectMany ():

Linq SelectMany() simplifie ce processus. Voici comment aplatir la liste imbriquée:

<code class="language-csharp">var nestedList = new List<List<int>> { new List<int> { 1, 2, 3, 4 }, new List<int> { 5, 6, 7 } };
var flattenedList = nestedList.SelectMany(innerList => innerList).ToList(); </code>
Copier après la connexion

Explication:

  • nestedList: Cela représente la liste d'entrée des listes.
  • SelectMany(innerList => innerList): C'est le cœur de la solution. SelectMany() itére à travers chaque innerList dans nestedList. L'expression Lambda innerList => innerList projette simplement chaque liste intérieure sur elle-même, déballant efficacement la nidification.
  • .ToList(): Cela convertit la séquence aplatie résultante en a List<int>.

Ce code concise aplatit efficacement la liste imbriquée, fournissant la liste des entiers unique souhaitée.

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