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