Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir LINQ en C#

Récupérer les éléments des regroupements

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Apprenez à mieux maîtriser les regroupements et retournez des éléments de la collection des données agrégées.
05:57

Transcription

Au passage, est-ce que je peux avoir la même chose dans une syntaxe fluent, en méthode ? Bien sûr, après, une fois de plus, c'est selon vos goûts, je vais commenter tout ça. Et puis, reprendre depuis le début, var res, c'est égal à ? Et donc, je vais dire parents, ensuite, on fait un group by, très simple, et puis, bon vous avez compris. On va utiliser, une lambda, pour dire sur quoi on regroupe. Donc, la ville, ensuite, on peut faire un Orderby. Si besoin est, mais c'est pour faire exactement la même chose qu'ici. Et je vais dire, on va essayer de faire ressembler ça quand même, un petit peu, ensuite je vais dire select, et puis je vais faire la même chose finalement. Voilà, c'est pas très mortel, on essaie. Et effectivement, j'ai oublié quelque chose, il faut réfléchir dans la vie, donc. Je dois faire une lambda, bien sûr. Donc voilà, la syntaxe n'est pas très compliquée non plus. Ça se ressemble quand même pas mal, c'est vous qui voyez. Je commente, et puis, je vais reprendre ceci, pour continuer à travailler sur mon group by. Pourquoi je veux continuer à travailler ? Parce que, ce qui m'intéresse maintenant, c'est peut-être récupérer des informations de nom. Je vous le relance. Voilà, mais clé, c'est-à-dire mes villes, je peux changer ça. Et puis, j'aimerai avoir, je ne sais pas, des noms, de personnes, de parents, qui vivent dans ces villes. Comment est-ce que je vais faire ? Est-ce que je peux faire ça, par exemple ? Et dire, allez, le nom, alors ça, vous vous en doutez, vous avez les yeux qui se fixent sur P en disant, non, non, non, tu ne peux pas utiliser P puisque tu as fait un regroupement, on est d'accord, catastrophe. Est-ce qu'on peut faire ça ? Vous allez vous dire, si vous avez l'habitude des group by en SQL, encore plus, dire, mais quel nom ? Ici, pour Nantes, je vais prendre Nantes par exemple, je vais avoir Martin et Paul, alors je vais prendre lequel ? Pas possible non plus, on est d'accord, ça ne passera pas. Donc, qu'est-ce que je vais faire ? Bah évidemment, soit je prends une méthode purement d'agrégation, comme le Min, comme le Max, ici. Donc je peux tout à fait faire ça, Min, et puis comme je suis passé maintenant en syntaxe méthode, nécessairement. Je vais devoir l'exprimer avec une lambda, une fois de plus. Donc je vais dire, là par exemple, p. Alors, je ne vais peut-être pas mettre p, parce que ça peut être troublant pour vous, si vous dites, ah p, c'est ça, non ce n'est pas ça, c'est autre chose. C'est une variable quelconque, un paramètre quelconque, et je vais dire, eh bien, je vais faire un Min des noms. Et là, c'est logique, Pas de problème, parce que je peux récupérer la clé, et puis ensuite, je peux passer ce que j'ai dans G, c'est-à-dire ma collection de noms, pour chaque ville, à travers un Min, et retrouver le Min, et bien sûr, le Max. Ça, sans problème. Comment ferai-je en plus, pour avoir la liste des noms ? La liste des noms, bah vous l'avez dit. Allez, on fait un select, on veut la liste des noms, c'est bon, sous IEnumerable de string, pas de problème, on voudrait une liste, une liste de string. Évidemment, vous vous souvenez, ToList. Et, voilà, on a une liste de string. Maintenant, c'est logique, il ne nous reste plus qu'à manipuler tout ça. On a ici un résultat qui est finalement un IEnumerable qui contient la ville, et, pour chaque ville, une liste de string, donc on est tout à fait dans une structure, en arbre, une structure hiérarchique, qui va contenir dans son élément, une collection supplémentaire, donc il n'y a pas de problèmes. Vous allez me dire, oui, mais moi, j'aimerai bien avoir la liste des chaînes, maintenant, dans un seul string, avec des virgules. Bon, eh bien, pour ça, vous vous débrouillez. Vous pouvez utiliser, vous vous souvenez, la méthode Aggregate, que vous prendriez ici, et puis, vous vous souvenez, appeler un Aggregate, il faut quand même passer deux ou trois paramètres, donc ici on va en faire l'économie. Est-ce qu'on peut faire ça ? Syntaxe, depuis, .NET4, si je ne me trompe pas. Est-ce que ça passe ? Bah oui, donc vous pouvez également le faire de cette façon. Si vous voulez les avoir dans l'ordre, vous pouvez placer un Orderby, ici de toute façon, ils sont dans l'ordre, mais par hasard. Mais vous pouvez bien entendu, placer un Orderby, au milieu de tout ça, c'est-à-dire ici, par exemple. Donc vous voyez, avec un petit peu de réflexion, et tout ce qui vous est possible de faire en Linq, bien, vous pouvez résoudre, carrément tous vos problèmes. Et, j'ai l'impression de me répéter, mais ce n'est pas grave, vous avez vu la compacité de cette instruction, la lisibilité de ce qu'on peut faire, ici. Je trouve ça particulièrement lisible. Et puis ici, bon, peut-être un peu moins, mais on a un truc un peu plus compliqué à faire. Et on est arrivé à un résultat, qui, si on n'avait pas Linq, nous demanderait quand même, plusieurs, allez, peut-être, une vingtaine de lignes de code, quelque chose comme ça, qui est purement du boulot que Linq peut très bien faire à notre place et encore mieux.

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 !