rationalisation des requêtes Linq imbriquées: aplatir ienumerable & lt; list
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!