Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Découvrir LINQ en C#

Découvrir la méthode LINQ Count()

Testez gratuitement nos 1341 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Apprenez à utiliser la méthode LINQ Count() dans cet exemple d'appel en syntaxe méthode. Vous allez envoyer un filtre sous forme d'expression lambda.
04:53

Transcription

Pour voir des exemples, j'ai modifié un petit peu mon code de façon à implémenter ici « INotifyPopertyChanged ». De toute façon, en fait, sans entrer dans les détails, c'est quelque chose qu'on voit dans la formation WPF pour afficher finalement dans l'interface le résultat de nos requêtes LINQ. Et donc, première chose, je reviens ici. Il y a une première requête que je fais ici juste pour voir si l'objet que je manipule, je récupère son type. Je récupère une interface en spécifiant le nom de l'interface « IEnumerable » juste pour savoir si cet objet implémente l'interface « IEnumarable ». Ça ne va pas me servir à beaucoup de choses ici, c'est juste pour vous montrer que vous pouvez par réflexion récupérer cette information. De toute façon, tout ce qu'on va manipuler, des listes, des collections, implémentent IEnumerable ce qui fait qu'on aura accès à nos extensions LINQ sur toutes les collections en .NET et, à plus forte raison, lorsque vous utiliserez « LinqToEntity », etc., vous aurez à disposition également LINQ sur vos objets spécifiques genre XML, Entity Framework, etc. Mais là, on va bien sûr rester sur « LinqToObject ». Donc, j'ai mon « Count ». Je ne vais plus l'attribuer à une variable que je définis... enfin, je vais regarder quel est son type de retour ceci dit. Donc quand je fais un « Count », ça me paraît assez logique que je récupère un entier. Un entier signé 32 bits. Mais, ce que je vais faire, c'est remplacer ceci par une propriété que j'ai appelée « résultat » qui est une propriété de mon ViewModel, ici, et qui va déclencher un évènement pour dire « résultat » a été modifié, ce qui va déclencher la modification dans WPF. Ce n'est qu'un détail. Bien entendu, comme « résultat » est un string, il faut que je fasse ici un « ToString » de façon à récupérer au moins la représentation en chaîne de mon entier. Et maintenant, on va voir un petit peu ce que je peux faire dans mon « Count ». Juste très simplement. J'ai ici donc à disposition une méthode LINQ et, si vous vous souvenez de ce qu'on a vu dans l'implémentation, je peux regarder encore... Eh bien, j'ai celle-ci, mais j'ai également celle-ci, ou je peux envoyer une fonction. Ce que ça veut dire, c'est que soit je fais un « Count »... total et à ce moment-là c'est très simple, soit je fais un « Count » en disant : « prends une fonction qui va permettre de filtrer ce Count ». Donc je vais lui envoyer une adresse de fonction, fonction anonyme ici, et je vais lui envoyer en fait un délégué de fonction. Dans un autre langage, on pourrait dire un « callback ». Je vais lui envoyer une fonction que le « Count » va récupérer, exécuter sur chaque élément de la collection puis filtrer les données pour me retourner à « Count » filtré. Comment est-ce que je vais faire ça ? Eh bien, je vais exprimer ici dans mon Link une fonction anonyme sous forme d'expression lambda. C'est-à-dire, une façon d'exprimer une fonction anonyme qui a assez de syntaxe. Je vais prendre une variable que je définis. Par exemple « S » pour « Session », peu importe. Je vais utiliser l'opérateur lambda qui va dire, eh bien, créer une fonction anonyme qui va prendre en paramètre d'entrée ceci et qui va traiter ensuite ce paramètre de la façon suivante. Je vais dire « S », point. et en fait, comme ici mon expression lambda sait qu'on traite de session, je vais pouvoir utiliser un membre de mon objet session. Par exemple, le nombre d'inscrit et faire une comparaison. Je vais dire par exemple, les sessions qui ont 15 inscrits. Ça veut dire que le « Count » va récupérer cette fonction, tester finalement ce membre, et filtrer pour ne garder que les sessions qui ont 15 inscrits. À ce moment-là, le « Count » va les compter, bien entendu, et je vais retourner le résultat. On essaye ? Je compile. J'exécute. J'ai effectivement deux sessions qui ont 15 inscrits. Ce que ça veut dire donc, c'est que vous pouvez à travers cette expression de méthode LINQ passer des fonctions anonymes sous forme d'expressions lambda qui vont filtrer. Dans les faits, cette ligne-ci va nous remplacer une boucle « foreach ». « foreach », variable dans la session. Et on va faire un test. Pour chaque élément, est-ce que l'inscrit est égal à 15 ? Et si oui, on incrémente un compteur. Tout ce code devient complètement inutile quand vous utilisez LINQ avec cette syntaxe qui est très ramassée, et quand vous en avez l'habitude, finalement très simple à comprendre.

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 !