Découvrir LINQ en C#

Extraire des valeurs distinctes

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Découvrez la méthode Distinct pour extraire des valeurs distinctes d'une propriété de vos collections d'objets.
03:18

Transcription

Pour travailler sur la suite, j'ai rajouté des villes dans mes parents. On va faire quelques regroupements. Mais avant, j'ai fait simplement une requête Linq tout à fait simplifiée ici, pour récupérer tous mes parents, j'oublie pour l'instant les enfants, on va y revenir. Mais qu'est-ce que je vais faire ? Je vais récupérer mes villes. Sans problème, sauf que bien sûr, deux parents vivent à Nantes, deux parents vivent à Graz. Comment faire pour avoir des valeurs distinctes ? Facile ! On va faire ça et utiliser une méthode qui s'appelle simplement distincte. Trop facile, et donc qui est une méthode Linq qu'on va utiliser dans la formulation méthode fluent. Et nous y voilà ! Évidemment, on peut faire un Orderby, qu'on peut mettre ici, sans problème, pour avoir notre liste. Dans l'ordre des villes, donc toujours sans problème. Et on peut bien sûr continuer comme ça, pour avoir par exemple, simplement le nombre d'éléments de tout ça, c'est assez logique. On pourrait se demander est-ce qu'il y a la possibilité de l'utiliser comme ceci, directement sur nos parents ? Donc je dirai ceci, et je prendrai directement ma collection, je ferai directement un distinct, c'est intéressant, je vais commenter ça. On va voir si ça donne déjà quelque chose, oui. Mais c'est un distinct de quoi ? Finalement de tous les objets, en regardant toutes leurs propriétés. Ah oui, d'accord, donc on déduplique d'une façon globale en regardant toutes les propriétés. Ce serait quand même sympa de pouvoir passer ici, par exemple, un lambda, pour envoyer un délégué au distinct, en disant aha, non, prends distinct, par exemple, sur la ville. Sauf que non, mon implémentation interne n'est pas forcément facile non plus, parce qu'on va se dire, oui, mais, qu'est-ce qu'on va faire des autres éléments qui vont venir ? Le nom par exemple, on prend quoi ? Effectivement, qu'est-ce qu'on prend du nom ? Donc, ça, ça ne marche pas. Et pour que ça marche, il faudrait créer une classe spécifique, qui implémente IEqualityComparer, une interface spécifique, pour donner aux distincts, un comparateur, etc. Sachez qu'il existe des extensions à Linq, on sort un peu de notre sujet, mais je vais vous montrer quelque chose qui s'appelle morelinq, et qui est une initiative pour ajouter des fonctionnalités à Linq et notamment morelinq, à, mais donc là, je ne l'ai pas, mais je vais juste vous le montrer, une méthode qui s'appelle Distinctby, qui pourrait faire cela. Donc au cas où vous avez envie de faire ça, regardez morelinq. Bon, on laisse tomber, parce qu'on va faire les choses un peu autrement. Et on va voir dans la vidéo suivante, comment on va plutôt effectuer des regroupements, et travailler avec ces regroupements.

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 !