Antefatto: nel prossimo mese, terrò tre discorsi o almeno LINQnel 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 LINQdi SQLEntity 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 )