Contexte: au Cours du prochain mois, je vais être de donner trois parle ou, au moins, y compris LINQ
dans le contexte de l' C#
. J'aimerais savoir quels sont les sujets qui valent la peine de donner une bonne quantité d'attention, en fonction de ce que les gens peuvent trouver difficile à comprendre, ou de ce qu'ils peuvent avoir une impression erronée de. Je ne vais pas être spécifiquement parlant LINQ
de SQL
ou Entity Framework, sauf que des exemples de la façon dont les requêtes peuvent être exécutées à distance à l'aide de l'expression des arbres (et habituellement IQueryable
).
Alors, qu'avez-vous trouvé difficile en LINQ
? Qu'avez-vous vu en termes de malentendus? Les exemples pourraient être l'un des suivants, mais s'il vous plaît, ne vous limitez pas!
- Comment l'
C#
compilateur traite les expressions de requête - Les expressions Lambda
- Des arbres d'Expression
- Les méthodes d'Extension
- Les types anonymes
IQueryable
- Différés vs exécution immédiate
- Streaming vs tampon d'exécution (par exemple OrderBy est reportée, mais tamponnée)
- Implicitement tapé les variables locales
- La lecture complexe des signatures génériques (par exemple, Énumérable.Joindre)