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