Antefatto: nel prossimo mese, terrò tre discorsi o almeno LINQ
nel contesto di C#
. Mi piacerebbe sapere a quali argomenti vale la pena prestare una buona dose di attenzione, in base a ciò che le persone possono trovare difficili da capire, o di cosa potrebbero avere un'impressione sbagliata. Non parlerò in modo specifico LINQ
di SQL
Entity Framework o di Entity tranne che come esempi di come le query possono essere eseguite in remoto usando gli alberi delle espressioni (e di solito IQueryable
).
Quindi, cosa hai trovato difficile LINQ
? Cosa hai visto in termini di incomprensioni? Gli esempi potrebbero essere i seguenti, ma per favore non limitarti!
- Come il
C#
compilatore tratta le espressioni di query - Espressioni Lambda
- Alberi di espressione
- Metodi di estensione
- Tipi anonimi
IQueryable
- Esecuzione differita vs esecuzione immediata
- Streaming vs esecuzione con buffer (ad es. OrderBy è differito ma con buffer)
- Variabili locali tipizzate implicitamente
- Lettura di firme generiche complesse (ad es. Enumerable.Join )