Maison >développement back-end >C++ >Comment aplatir un «ienumerable» dans une «liste» en utilisant LINQ?

Comment aplatir un «ienumerable» dans une «liste» en utilisant LINQ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-26 15:46:09749parcourir

How to Flatten an `IEnumerable` into a `List` using LINQ?

rationalisation des requêtes Linq imbriquées: aplatir ienumerable & lt; list & gt; pour lister

Travailler avec des collections imbriquées dans LINQ nécessite souvent de les aplatir dans une seule liste pour un traitement plus facile. La méthode SelectMany() fournit une solution élégante pour cette tâche commune.

Scénario:

Votre requête LINQ renvoie un IEnumerable<List<int>> - une collection de listes entières. Le but est de transformer cela en un seul List<int>.

Solution:

La méthode SelectMany() applaudie efficacement la structure imbriquée. Voici comment:

<code class="language-csharp">var result = iList.SelectMany(i => i).ToList();</code>

La méthode SelectMany() itère à travers chaque liste interne (i) dans iList et projette ses éléments en une seule séquence. La méthode d'extension .ToList() convertit ensuite cette séquence en a List<int>.

Illustration:

disons que votre entrée est:

<code>[1, 2, 3, 4]
[5, 6, 7]</code>

Application SelectMany() Rende:

<code>[1, 2, 3, 4, 5, 6, 7]</code>

Cette approche simplifie les structures de données imbriquées, ce qui rend vos requêtes LINQ plus concises et lisibles. C'est une technique précieuse pour gérer divers scénarios impliquant des données hiérarchiques.

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