Antecedentes: No próximo mês, darei três palestras sobre ou pelo menos incluir LINQ
no contexto de C#
. Gostaria de saber em quais tópicos vale a pena prestar bastante atenção, com base no que as pessoas podem achar difícil de entender ou no que elas podem ter uma impressão errada. Eu não vou ser especificamente falando sobre LINQ
a SQL
ou o Entity Framework, exceto como exemplos de como as consultas podem ser executadas remotamente usando árvores de expressão (e geralmente IQueryable
).
Então, o que você achou difícil LINQ
? O que você viu em termos de mal-entendidos? Os exemplos podem ser os seguintes, mas não se limite!
- Como o
C#
compilador trata expressões de consulta - Expressões lambda
- Árvores de expressão
- Métodos de extensão
- Tipos anônimos
IQueryable
- Adiado versus execução imediata
- Streaming vs execução em buffer (por exemplo, OrderBy é adiado, mas em buffer)
- Variáveis locais implicitamente digitadas
- Lendo assinaturas genéricas complexas (por exemplo, Enumerable.Join )