Справочная информация: В течение следующего месяца я буду выступать с тремя докладами, по крайней мере, в том числе LINQ
в контексте C#
. Я хотел бы знать, на какие темы стоит обратить пристальное внимание, основываясь на том, что людям может быть трудно понять, или на что у них может быть ошибочное впечатление. Я не буду конкретно говорить о том, LINQ
чтобы SQL
или в Entity Framework , за исключением примеров того , как запросы могут быть выполнены удаленно с помощью деревьев выражений (и обычно IQueryable
).
Итак, что вы усердно нашли LINQ
? Что вы видели с точки зрения недопонимания? Примерами могут быть любые из следующих, но, пожалуйста, не ограничивайте себя!
- Как
C#
компилятор обрабатывает выражения запроса - Лямбда-выражения
- Деревья выражений
- Методы расширения
- Анонимные типы
IQueryable
- Отложено против немедленного исполнения
- Потоковое и буферизованное выполнение (например, OrderBy откладывается, но буферизируется)
- Неявно типизированные локальные переменные
- Чтение сложных родовых подписей (например, Enumerable.Join )