• [^] # Re: C# n'est pas un langage à typage fort !

    Posté par . En réponse à la dépêche Mono 2.0 : le singe continue ses grimaces. Évalué à 5.

    Et bien ça dépend de l'implémentation. Si tu travailles en LINQ to Objects, donc en mémoire, le moyen `standard` d'itérer sur un flux d'objets, c'est d'utiliser le même mécanisme qu'un foreach: les énumerateurs.

    Par contre, dans le cas où tu implémentes un provider LINQ, que ce soit vers un SGBDR, ou une autre source de données, et bien non, il ne va pas y avoir récupération de toutes les données puis filtre en mémoire.

    LINQ va te permettre de récupérer une meta-requête, donc une représentation du code de la requête, qu'on appelle entre nous un expression tree. Et on va donc à partir de cette représentation du code C#, créer une requête correspondante, pour la source de données sous-jacente, donc du SQL, ou autre.