Изучение LINQ C#: основы и примеры использования

LINQ (Language Integrated Query) - это технология, которая позволяет выполнить запрос к различным источникам данных (коллекции объектов, базы данных, XML-документы и т.д.) на основе языка C#.

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

Операции выборки в LINQ выполняются с помощью метода Where, который возвращает элементы списка, удовлетворяющие определенному условию. Например:

var list = new List { 1, 2, 3, 4, 5 };

var result = list.Where(x => x > 3);

// result содержит 4 и 5

Операции проекции выполняются с помощью метода Select, который возвращает новую последовательность на основе данных исходной последовательности. Например:

var list = new List { 1, 2, 3, 4, 5 };

var result = list.Select(x => x * 2);

// result содержит 2, 4, 6, 8, 10

Операции сортировки выполняются с помощью метода OrderBy, который сортирует элементы списка в заданном порядке. Например:

var list = new List { 5, 2, 4, 1, 3 };

var result = list.OrderBy(x => x);

// result содержит 1, 2, 3, 4, 5

Операции группировки выполняются с помощью метода GroupBy, который группирует элементы списка по определенному критерию. Например:

var list = new List { 1, 2, 3, 4, 5 };

var result = list.GroupBy(x => x % 2);

// result содержит две группы: одна содержит 1 и 3, другая содержит 2, 4 и 5

Операции агрегации выполняются с помощью методов Aggregate и Sum, которые выполняют некоторую математическую операцию над элементами списка. Например:

var list = new List { 1, 2, 3, 4, 5 };

var result = list.Aggregate((x, y) => x * y);

// result содержит произведение всех элементов списка: 120

var sum = list.Sum();

// sum содержит сумму всех элементов списка: 15

Также в LINQ есть возможность создать пользовательские операции с помощью метода Extension. Например, можно создать метод, который вернет все элементы списка, где количество символов равно заданному числу:

public static IEnumerable GetByLength(this IEnumerable source, int length)

{

return source.Where(s => s.Length == length);

}

Пример использования:

var list = new List { "aaa", "bb", "ccccc", "d" };

var result = list.GetByLength(3);

// result содержит "aaa" и "d"

Таким образом, LINQ - это мощный инструмент для выполнения запросов к различным источникам данных на языке C#. С его помощью можно легко и быстро обрабатывать данные и получать нужные результаты.

Похожие вопросы на: "linq c "

Asyncio Python: Asynchronous Programming Made Simple
JavaScript QuerySelectorAll: поиск элементов на странице с помощью CSS-селекторов
CSS Import: Adding External Styles to Your Web Pages Made Easy
Использование оператора instanceof в JavaScript
Ansible Copy: Automate File Transfers with Ease
Как выровнять текст по центру в CSS
Как выбрать подходящую версию Java
Метод fetch_assoc() в библиотеке MySQLi
<h1>Regexp Like Oracle - Mastering Regular Expressions in Oracle Databases
<h1>Lost Connection