Maison > développement back-end > C++ > Comment puis-je aplatir une liste imbriquée dans LINQ à l'aide de SelectMany() ?

Comment puis-je aplatir une liste imbriquée dans LINQ à l'aide de SelectMany() ?

DDD
Libérer: 2025-01-26 15:42:11
original
458 Les gens l'ont consulté

How Can I Flatten a Nested List in LINQ Using SelectMany()?

Utilisez LINQ pour aplatir les listes imbriquées

Lorsqu'il s'agit de listes imbriquées dans LINQ, il est parfois nécessaire de convertir plusieurs listes en une seule liste aplatie. Ceci peut être réalisé en utilisant la méthode SelectMany().

Scène :

Considérez la requête LINQ suivante qui renvoie une liste imbriquée d'entiers :

<code class="language-csharp">IEnumerable<List<int>> iList = (from number in (from no in Method() select no) select number).ToList();</code>
Copier après la connexion

Si vous devez générer une seule liste contenant tous les éléments de la liste imbriquée, vous pouvez modifier la requête comme suit :

<code class="language-csharp">var result = iList.SelectMany(i => i);</code>
Copier après la connexion
La méthode

SelectMany() prend chaque élément de la séquence d'entrée (dans ce cas, chaque liste) et le projette dans une nouvelle séquence. En spécifiant le paramètre i, chaque élément de la liste imbriquée devient un nouvel élément dans la séquence de sortie.

Exemple :

Pour les listes sources [1, 2, 3, 4] et [5, 6, 7], la requête modifiée produira la liste aplatie suivante :

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

Ainsi, en utilisant la méthode SelectMany(), vous pouvez convertir une liste imbriquée d'entiers en une seule liste aplatie dans LINQ.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal