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

Découvrir LINQ en C#

Comprendre le fonctionnement de LINQ

Testez gratuitement nos 1336 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Rudi Bruchez vous présente quelques éléments d'information sur comment est conçu LINQ et comment il s'insère dans les classes .NET.
03:38

Transcription

Sans entrer absolument dans tous les détails, voyons quand même un peu comment ça fonctionne. D'abord, comment est-ce qu'on peut obtenir LINQ sur des collections ? On a dans framework.net un certain nombre de collections qui sont soit typés soit génériques et toutes ces collections vont pouvoir implémenter LINQ. C'est à dire qu'on va pouvoir utiliser du LINQ sur chacune d'entre elle. Est-ce que toutes les collections ont été modifiées ? Est-ce que Microsoft a ajouté plein de méthodes dans chaque collection ? Non. Ils ont utilisé ce qu'on appelle des méthodes d'extension c'est à dire, je vais vous le montrer d'ailleurs, une façon de rajouter sans modifier le code de la classe elle-même des méthodes supplémentaires qui vont pouvoir être utilisées lorsqu'on travaille avec la classe. Sur quel type d'objet ? C'est à dire toutes nos collections ? Ces méthodes d'extension sont-elles portées sur toutes les collections ? Non. Elles portent sur tout ce qui va implémenter IEnumerable. Donc une interface que toutes les collections implémentent. Ici, IEnumerable, c'est à dire un générique. Donc les méthodes d'extension sont ajoutées à IEnumerable et donc toutes les classes qui implémentent IEnumerable vont pouvoir en profiter. Dans LINQ, il y a une interface qui a été ajoutée et qui s'appelle IQueryable. Enfin bref, un requêtable si vous préférez. C'est donc une interface que vont implémenter certaines classes qui vont permettre, en fait, de faire des requêtes et IQueryable va permettre de générer une encapsulation de DLS comme du XML, comme SQL par exemple, et transformer la requête LINQ en ce qu'on appelle un Arbre Expression, un Expression Tree qui est en fait la représentation dans un arbre de code qui va permettre de générer du code SQL ou du code XQuary par exemple pour interroger des structures sous-jacentes. En d'autres termes, quand vous manipulez des collections en mémoire, vous utilisez plutôt IEnumerable et puis quand LINQ va lancer des requêtes sur une base de données, sur du XML, eh bien, on sera dans le domaine de quelque chose qui implémente IQueryable. C'est pas très très important, mais c'est pour dire qu'il y a juste deux interfaces qui sont très importantes dans le monde LINQ, dans la façon dont LINQ est implémenté. Donc je vous ai parlé de ces arbres d'exécutions. Ils sont importants pour IQueryable notamment et pour, finalement, la génération interne des requêtes par LINQ. C'est pas très important de s'en souvenir non plus, c'est un peu de la cuisine interne, mais c'est pour vous dire aussi qu'il y a de la réflexion derrière. Il y a aussi la possibilité d'exécuter en parallèle certaines requêtes donc il y a un moteur dans LINQ qui va permettre de lancer des requêtes en parallèle. Par contre, un concept assez important, c'est l'idée de... je l'ai traduit par « chargement paresseux », en anglais bien sûr lazy loading. Lorsque vous allez définir une requête LINQ, ce n'est pas au moment où vous allez la définir et la placer par exemple dans une variable qui sera une collection, quelque chose qui implémente IEnumerable, ce n'est pas à ce moment-là que la requête va être faite. Le lazy loading ça veut dire qu'on va effectuer la requête LINQ au moment où on va commencer à l'utiliser, mais pas au moment où on la définit. C'est à dire, si je commence à faire une boucle sur un IEnumerable, c'est à ce moment-là que la requête va vraiment être faite derrière et pas au moment où j'aurais défini ma requête plus haut. Voyons maintenant pratiquement comment ces éléments se mettent ensemble dans C# et dans LINQ.

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 !