Благодаря методам расширения интерфейсы IEnumerable, IEnumerable<T> и Queryable, IQueryable<T> обзавелись новыми методами (если конечно используется директива using System.Linq). Известно что запросы LINQ можно писать различными способами, об этом и поговорим.
Сразу перейдем к примеру.
У нас есть массив строк:
Мы хотим выбрать все слова, в которых встречается буква "а":
И синтаксис запросов и синтаксис методов здесь читается на мой взгляд одинаково легко.
Теперь хотим сгруппировать все слова по длине, перевести их в верхний регистр и упорядочить по возрастанию, а результат поместить в анонимный тип:
Здесь синтаксис методов выглядит более громоздко и читается хуже.
Т.е. для более сложных запросов (с группировкой и / или упорядочиванием) синтаксис запросов может выглядеть более компактно и ясно.
В случае если хочется использовать синтаксис запросов, но не хватает выражения для какого-то метода (полная таблица соответствия на сайте MSDN), можно использовать смешанный синтаксис:
Комментариев нет:
Отправить комментарий