0Pricing
C# Academy · Урок

Использование LINQ для запросов к данным

Упрощайте сложные запросы к данным с помощью LINQ (Language Integrated Query)

«Использование LINQ для запросов к данным» — бесплатный урок C# Academy на CoddyKit. Это урок 5 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 5 уроков всего.

Введение в LINQ

Использование LINQ для запросов к данным

Добро пожаловать на следующий урок! На этом уроке Вы узнаете о LINQ (запросах, интегрированных в язык) — мощной возможности C#, которая упрощает создание запросов к данным и обработку данных. Начнём!

Использование LINQ для запросов к данным — иллюстрация 1

Что такое 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 для запросов к данным — иллюстрация 10

Часто задаваемые вопросы

Урок «Использование 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 — локальная установка не требуется.

Все уроки этого курса

  1. Чтение и запись файлов
  2. Работа с JSON и XML
  3. Обработка исключений
  4. Работа с базами данных
  5. Использование LINQ для запросов к данным
← Назад к C# Academy