... > C# > Лямбда-выражения в C#

Лямбда-выражения в C#

НАВИГАЦИЯ ПО СТРАНИЦЕ

Синтаксис Сокращение кода Использование в LINQ Использование в делегатах Захват переменных Множественные параметры

Лямбда-выражения представляют компактный способ создания анонимных методов или делегатов, что делает код более читаемым и удобным.

Основные аспекты лямбда-выражений:

  1. Синтаксис:

    • Лямбда-выражение начинается с входных параметров (если они есть), затем символа =>, и после него идет тело выражения.

      Func<int, int, int> add = (x, y) => x + y;
      Action<string> printMessage = message => Console.WriteLine(message);
  2. Сокращение кода:

    • Они позволяют избежать объявления отдельного метода или делегата для небольших операций.

      List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
      var evenNumbers = numbers.FindAll(number => number % 2 == 0);
  3. Использование в LINQ:

    • Лямбда-выражения часто применяются в LINQ для определения условий фильтрации, сортировки и проекции данных.

      List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
      var selectedNames = names.Where(name => name.Length > 4).ToList();
  4. Использование в делегатах:

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

      Action<int> performOperation = number =>
      {
          int result = number * 2;
          Console.WriteLine(result);
      };
  5. Захват переменных:

    • Лямбда-выражения могут захватывать переменные из окружения, в котором они определены.

      int factor = 5;
      Func<int, int> multiplyByFactor = x => x * factor;
  6. Множественные параметры:

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

      Func<int, int, int> sum = (a, b) => a + b;

Лямбда-выражения предоставляют компактный и удобный способ определения анонимных функций в C#, что делает код более читаемым и выразительным.

Лямбда-выражения в C# позволяют создавать анонимные функции и делегаты компактным и выразительным способом, улучшая читаемость и поддерживаемость кода.