Фильтрация и выборка данных о товарах с LINQ в C#
В этом уроке вы построите цепочку запросов LINQ, чтобы отфильтровать, отсортировать и извлечь названия товаров, подходящих под условие.
Введение
Запрос LINQ может объединять несколько шагов, например фильтрацию, сортировку и выбор данных (проекцию), в один непрерывный процесс. Важно, что запрос не меняет исходный список, а только создаёт новый результат.
Where оставляет товары с ценой от 20, OrderBy сортирует их по возрастанию цены, а Select извлекает только название. Результат Book, Bag, а исходный массив products по-прежнему содержит все три товара.
Пример на C#, который можно запустить
using System;
using System.Linq;
record Product(string Name, decimal Price);
class Program
{
static void Main()
{
var products = new[] { new Product("Book", 30), new Product("Pen", 5), new Product("Bag", 45) };
var names = products.Where(p => p.Price >= 20).OrderBy(p => p.Price).Select(p => p.Name);
Console.WriteLine(string.Join(", ", names));
}
}
Book, BagПрактика с отладчиком
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
- Сортировка по выбранному ключу Отсортируйте людей по имени или возрасту компаратором, выбранным во время выполнения, одинаково разрешая равенства. Легко
- Above-Average Values Keep the values that are greater than the average. Легко