Очень простое объяснение выражения Лямбды

Я ищу очень простой - базовый - без хардкорного программирования mumbo jumbo, просто поставьте обобщенный обзор выражения Lambda в неспециалистских терминах.

Ответ 1

Выражение лямбда, просто ставится, повторно используемое выражение, которое принимает несколько аргументов:

x => x + 1;

Вышеприведенное выражение читает "для заданного x, возвращает x + 1".

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

int number = 100;

Func<int, int> increment = x => x + 1;

number = increment(number); // Calls the delegate expression above.

Однако реальная мощность лямбда-выражения заключается в том, что его можно использовать для инициализации представления в самом выражении самого выражения.

Expression<Func<int, int>> incrementExpression = x => x + 1;

Это означает, что вы можете дать этому выражению что-то вроде LINQ to SQL, и оно может понять, что означает выражение, переводя его в SQL-запрос, имеющий такое же значение. Здесь lambdas сильно отличаются от обычных методов и делегатов, и обычно там, где начинается путаница.

Ответ 2

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

Пример выражения Lambda для квадратизации числа.

 x => x * x

Ответ 3

Небольшой неназванный встроенный метод. Это достаточно для вас? Я не уверен, что именно вы ищете.

Вы также сказали в терминах "непрофессионала" - я полагаю, что у вас есть некоторый уровень опыта разработки программного обеспечения (а не полный непрофессионал).

Ответ 4

В языках не функционального программирования выражения (которые действуют на переменные) выполняют вычисления и выполняют эти вычисления один раз.

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


Вы можете упростить это, чтобы сказать: "Они позволяют вам определять функции в выражениях".


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