Найти в Дзене
.Net Review

LINQ - Начало. Обзор возможностей, зачем нужен? (Часть 1)

Благодаря ООП составляющей C# все коллекции реализуют специальные интерфейсы, благодаря которым можно работать с коллекциями приводя их к интерфейсам. Для улучшенной производительности и удобства работы с коллекциями был введён LINQ (Language-Integrated Query). Что это? Language Integrated Query (LINQ) — проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework. Ранее был реализован в языках C# и Visual Basic .NET. Множество концепций, которые вводит LINQ, изначально опробовали в исследовательском проекте Microsoft. Что может? Используя некоторые новые особенности языка, LINQ позволяет использовать SQL-подобный синтаксис непосредственно в коде программы, написанной, например, на языке C#: Пример работы Классическая запись запроса. Запись в виде SQL подобного запроса. Итог LINQ мощный инструмент для работы с коллекциями. Важно отметить, что алгоритмы LINQ оптимизированы и в некоторых случаях будут производительнее вру
Оглавление

Благодаря ООП составляющей C# все коллекции реализуют специальные интерфейсы, благодаря которым можно работать с коллекциями приводя их к интерфейсам. Для улучшенной производительности и удобства работы с коллекциями был введён LINQ (Language-Integrated Query).

Что это?

Language Integrated Query (LINQ) — проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework. Ранее был реализован в языках C# и Visual Basic .NET. Множество концепций, которые вводит LINQ, изначально опробовали в исследовательском проекте Microsoft.

Что может?

Используя некоторые новые особенности языка, LINQ позволяет использовать SQL-подобный синтаксис непосредственно в коде программы, написанной, например, на языке C#:

  • Анонимная типизация. Создание нового объекта на основе анонимного типа.
  • Методы расширения. Возможность создавать расширения для различных классов.
  • Лямбда выражения. Возможность использовать/передавать в методы лямбда выражения.
  • Вид написания запросов. Можно написать запрос со схожим синтаксисом SQL, так и более стандартно относительно языка программирования.

Пример работы

-2

Классическая запись запроса.

-3

Запись в виде SQL подобного запроса.

Итог

LINQ мощный инструмент для работы с коллекциями. Важно отметить, что алгоритмы LINQ оптимизированы и в некоторых случаях будут производительнее вручную написанных foreach методов. К использованию рекомендуется.

В следующих статьях подробнее о разных методах/функциях LINQ c примерами.

Телеграмм канал: https://t.me/dotnetreview

Источники: LINQWiki