LINQ C#
LINQ (Language-Integrated Query) — это мощный инструмент в C#, который позволяет работать с данными (коллекциями, базами данных, XML, и даже строками) через декларативные запросы, интегрированные в язык программирования. Основная цель LINQ — упростить обработку данных и сделать её более читабельной и выразительной.
LINQ использует методы расширения и делегаты для обработки коллекций и других источников данных. Эти методы применяются к интерфейсам или объектам, например IEnumerable<T>
или IQueryable<T>
.
Что бы использовать LINQ в C#: using System.Collections.Generic;
и using System.Linq;
Методы LINQ
Where — Фильтрует данные — numbers.Where(n => n > 5)
Select — Преобразует элементы коллекции — names.Select(n => n.ToUpper())
OrderBy — Сортировка по возрастанию — numbers.OrderBy(n => n)
OrderByDescending — Сортировка по убыванию — numbers.OrderByDescending(n => n)
GroupBy — Группирует элементы — employees.GroupBy(e => e.Department)
Join — Соединяет две коллекции по ключу — orders.Join(customers, o => o.CustomerId, c => c.Id, (o, c) => new { o, c })
Take / Skip — Возвращает/пропускает определённое количество элементов — numbers.Take(5)
или numbers.Skip(5)
First / Last — Возвращает первый/последний элемент — numbers.First()
или numbers.Last()
Aggregate — Агрегирует данные в одно значение — numbers.Aggregate((a, b) => a + b)
Distinct — Убирает дубликаты — numbers.Distinct()
Any / All — Проверяет, есть ли хотя бы один/все элементы, удовлетворяющие условию — numbers.Any(n => n > 5)
или numbers.All(n => n > 5)