January 26

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)