Découvrir LINQ en C#

Utiliser SelectMany

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez prendre en main la commande SelectMany. Cette commande vous permet d'aplatir une collection de collections.
03:32

Transcription

Je vais vous montrer quelques méthodes Linq encore, mais qui ont trait cette fois-ci à la projection. Vous savez la projection, quand on parle d'algèbre relationnelle, c'est le fait de faire un select, finalement. Par exemple, ici, j'ai mes parents, ils ont un nom, une ville, un id. Et ici, je fais quelque chose comme select, et je vais prendre le nom seulement, je fais de la projection. Je limite le nombre d'éléments de propriété, on pourrait dire ici, de mes objets, que je retourne. Donc la projection, on l'a vu, c'est le select, on l'a déjà utilisé un certain nombre de fois. Et par exemple, voyez mon Dump ici, j'ai repris un exemple qu'on a vu dans une vidéo précédente, avec une jointure, juste pour mettre un petit peu de complexité. Eh bien, je peux très bien faire un res, ici. point, select, et, comme je suis en notation fluent, je suis avec des lambdas, bien sûr. Là, on a vraiment, vraiment, vraiment l'habitude maintenant. Je vais faire comme ceci, p, nom, ou plutôt, P parent, parce que je reprends mon res ici. Où j'ai un parent et des enfants, et puis, je fais un Dump, ça vous connaissez, je récupère uniquement la liste de mes parents. Donc, ça, c'est de la projection. Je n'ai pas tout pris, j'ai simplement limité le résultat que je voulais obtenir, en terme de membre, ou en terme de propriété, ou si on était en SQL, on dirait en terme de colonne, OK ? Mais, si je reprends ceci, et que je fais un Dump de toute ma collection, eh bien, j'ai aussi parent et enfant, et je voudrais récupérer les enfants, d'accord. Donc, je vais faire un select, et je vais récupérer les enfants. Qu'est-ce que j'ai dans enfants ? Eh bien, un IEnumerable de tableau de string ici. Ou de ce que je veux si je fais un ToList, peu importe. Comment est-ce que je fais pour récupérer uniquement le nom de mes enfants ? On est d'accord, ici, j'ai vraiment une structure hiérarchique, où, à l'intérieur de ma collection, dans chaque membre, j'ai également des collections, en l'occurrence, des tableaux de string. comment est-ce que je fais pour récupérer maintenant simplement, simplement, la liste des noms de mes enfants, aplatis ? Pas à l'intérieur d'une collection ou d'une collection. Est-ce qu'il y a un moyen de faire ça ? Oui. Bien sûr, ça s'appelle select many. Je vous montre. Alors là, par contre, ça va être trop simple. Mais vraiment trop simple, on va faire ça comme ça. Select many, vous êtes prêts ? Voilà. Select many, ça veut dire, eh bien OK, tu vas avoir plusieurs, tu vas avoir une collection à l'intérieur d'une collection, et tu vas aplatir tout ça, et me retourner ce que je veux, comme ceci. Donc je vous montre la version simple, il y a une ou deux subtilités dans Select many, où vous pouvez récupérer à travers une surcharge de la méthode, des éléments avec une lambda également plus compliquée. Mais, ne serait-ce que cet exemple va vous simplifier la vie, dans pas mal de situations, quand vous travaillez avec des collections de collections.

Découvrir LINQ en C#

Apprenez à manipuler des éléments de collection de façon déclarative avec LINQ. Étudiez la syntaxe, l’utilisation de la clause Where et la projection, triez les résultats, etc.

2h34 (31 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :19 janv. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !