Как переписать в linq?

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

Для переписывания кода на языке C# в LINQ-стиле первым делом необходимо включить пространство имен "System.Linq", чтобы использовать функциональности LINQ.

Предположим, у нас есть следующий код на языке C#:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

List<int> evenNumbers = new List<int>();

foreach (int number in numbers)
{
    if (number % 2 == 0)
    {
        evenNumbers.Add(number);
    }
}

Чтобы переписать этот код с использованием LINQ, мы можем использовать операторы запросов для фильтрации элементов коллекции и создания новой коллекции, содержащей только четные числа. Код на LINQ может выглядеть следующим образом:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

List<int> evenNumbers = numbers.Where(number => number % 2 == 0).ToList();

В этом примере мы используем метод расширения Where, который принимает предикатное выражение в виде лямбда-функции для фильтрации элементов коллекции. Результатом выражения number % 2 == 0 является значение true, если число number четное, и false в противном случае. Метод Where выбирает только те элементы коллекции, для которых предикатное выражение возвращает true.

Метод ToList преобразует результат запроса в новый список типа List<int>.

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