Я ищу очень простой - базовый - без хардкорного программирования 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
В языках не функционального программирования выражения (которые действуют на переменные) выполняют вычисления и выполняют эти вычисления один раз.
Лямбда-выражения позволяют вам определять (в выражении) с помощью другого синтаксического кода, который может работать в списке и может концептуально считаться функцией.
Вы можете упростить это, чтобы сказать: "Они позволяют вам определять функции в выражениях".
Не совсем подходит к "почему". Почему, по-моему, интереснее. Лямбда-выражение позволяет манипулировать функциями и частичными функциями.