Использование LINQ для запросов к данным
Упрощайте сложные запросы к данным с помощью LINQ (Language Integrated Query)
«Использование LINQ для запросов к данным» — бесплатный урок C# Academy на CoddyKit. Это урок 5 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 5 уроков всего.
Введение в LINQ
Использование LINQ для запросов к данным
Добро пожаловать на следующий урок! На этом уроке Вы узнаете о LINQ (запросах, интегрированных в язык) — мощной возможности C#, которая упрощает создание запросов к данным и обработку данных. Начнём!

Что такое LINQ?
Что такое LINQ?
LINQ — это набор возможностей C#, обеспечивающий единообразный способ создания запросов к данным из различных источников, таких как коллекции, базы данных, XML и другие источники.
Главное: LINQ встраивает запросы к данным в синтаксис C#, делая их понятными и удобными в использовании.
Базовый запрос LINQ
Базовый запрос LINQ
Запросы LINQ записываются с использованием синтаксиса запросов или синтаксиса методов. Пример:
Совет: Используйте синтаксис запросов для удобства чтения, а синтаксис методов — для большей гибкости.
using System;
using System.Linq;
class Program {
static void Main() {
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// LINQ query syntax
var evenNumbers = from num in numbers
where num % 2 == 0
select num;
Console.WriteLine("Even Numbers:");
foreach (var num in evenNumbers) {
Console.WriteLine(num);
}
}
}
LINQ с использованием синтаксиса методов
LINQ с использованием синтаксиса методов
Синтаксис методов — ещё один способ записывать запросы LINQ с помощью методов расширения. Пример:
Главное: Синтаксис методов обычно используется для более сложных запросов.
using System;
using System.Linq;
class Program {
static void Main() {
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// LINQ method syntax
var evenNumbers = numbers.Where(num => num % 2 == 0);
Console.WriteLine("Even Numbers:");
foreach (var num in evenNumbers) {
Console.WriteLine(num);
}
}
}
LINQ и коллекции
LINQ и коллекции
LINQ легко работает с коллекциями, например со списками. Пример:
Совет: Используйте LINQ с коллекциями, чтобы упростить задачи обработки данных.
using System;
using System.Collections.Generic;
using System.Linq;
class Program {
static void Main() {
List<string> names = new List<string> { "Alice", "Bob", "Charlie", "David" };
// LINQ query to filter names
var filteredNames = names.Where(name => name.StartsWith("C"));
Console.WriteLine("Names starting with 'C':");
foreach (var name in filteredNames) {
Console.WriteLine(name);
}
}
}
Сортировка данных с помощью LINQ
Сортировка данных с помощью LINQ
Для сортировки данных используйте OrderBy и OrderByDescending. Пример:
Главное: LINQ делает операции сортировки простыми и понятными.
using System;
using System.Linq;
class Program {
static void Main() {
int[] numbers = { 5, 1, 8, 3, 9 };
// LINQ query to sort numbers
var sortedNumbers = numbers.OrderBy(num => num);
Console.WriteLine("Sorted Numbers:");
foreach (var num in sortedNumbers) {
Console.WriteLine(num);
}
}
}
Практическое задание
Практическое задание
Создайте программу, которая фильтрует список products по цене, сортирует его по имени и отображает результаты с помощью LINQ. Пример:
using System;
using System.Collections.Generic;
using System.Linq;
class Program {
static void Main() {
var products = new List<Product> {
new Product { Name = "Laptop", Price = 1000 },
new Product { Name = "Phone", Price = 500 },
new Product { Name = "Tablet", Price = 300 }
};
// LINQ query to filter and sort products
var filteredProducts = products
.Where(p => p.Price > 400)
.OrderBy(p => p.Name);
Console.WriteLine("Filtered and Sorted Products:");
foreach (var product in filteredProducts) {
Console.WriteLine($"{product.Name}: ${product.Price}");
}
}
}
class Product {
public string Name { get; set; }
public double Price { get; set; }
}
Рекомендации по использованию LINQ
Рекомендации по использованию LINQ
Вот несколько рекомендаций:
- Используйте LINQ для создания кратких и понятных запросов.
- Для сложных запросов отдавайте предпочтение синтаксису методов.
- Объединяйте LINQ с лямбда-выражениями для эффективной обработки данных.
Совет: Проверяйте запросы LINQ на разных данных, чтобы убедиться в их точности.
Повторение: LINQ
Отличная работа!
Поздравляем! Вы научились использовать LINQ для создания запросов к данным и их обработки в C#. На этом завершается категория «Работа с файлами и данными». Переходим к новым заданиям!

Часто задаваемые вопросы
Урок «Использование LINQ для запросов к данным» бесплатный?
Да — полный текст урока «Использование LINQ для запросов к данным» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 5 уроков всего.
Чему я научусь в уроке «Использование LINQ для запросов к данным»?
Упрощайте сложные запросы к данным с помощью LINQ (Language Integrated Query) Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C# Academy?
Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 5 из 5.
Сколько времени занимает урок «Использование LINQ для запросов к данным»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C# Academy?
Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Чтение и запись файлов
- Работа с JSON и XML
- Обработка исключений
- Работа с базами данных
- Использование LINQ для запросов к данным