LINQ в C#
НАВИГАЦИЯ ПО СТРАНИЦЕ
Language Integrated Query (LINQ) — это набор возможностей языка C#, позволяющий делать запросы к различным источникам данных непосредственно из кода на C#. LINQ предоставляет удобный и выразительный способ работы с данными, включая коллекции объектов, базы данных, XML и другие источники данных.
Основные аспекты LINQ:
Основные
операторы :LINQ предоставляет набор операторов запросов (Query Operators), таких как Where, Select, OrderBy, GroupBy и другие, для фильтрации, сортировки и агрегации данных.
var query = from student in students where student.Age > 18 orderby student.LastName select student;
Использование
методов расширения :Методы расширения LINQ, доступные через классы Enumerable и Queryable, позволяют выполнять те же запросы с использованием цепочки методов.
var query = students.Where(student => student.Age > 18) .OrderBy(student => student.LastName);
Интеграция с различными источниками данных:LINQ поддерживает работу с коллекциями объектов, базами данных (через LINQ to SQL, Entity Framework), XML-документами и другими источниками данных.
Типы запросов :LINQ поддерживает два основных типа запросов: запросы по методам (Method Syntax) и запросы по выражениям (Query Syntax). Оба типа предоставляют похожий функционал, но с разным синтаксисом.
// Пример коллекции студентов List<Student> students = new List<Student> { new Student { Name = "Alice", Age = 20, Grade = "A" }, new Student { Name = "Bob", Age = 22, Grade = "B" }, new Student { Name = "Charlie", Age = 19, Grade = "A" }, }; // LINQ запрос - выбор студентов старше 18 лет и сортировка по имени var query = from student in students where student.Age > 18 orderby student.Name select student;
Этот пример демонстрирует LINQ запрос, который выбирает студентов старше 18 лет и сортирует их по имени.
LINQ предоставляет удобные средства для работы с данными непосредственно из кода на C#, позволяя выполнять запросы к различным источникам данных с помощью выразительного и удобного синтаксиса.