День сто тридцать седьмой. #ЗаметкиНаПолях
Лямбда-выражения. Продолжение
Выражения лямбды
Лямбда-выражение с выражением справа от оператора => называется выражением лямбда. Выражения лямбда широко используются при построении деревьев выражений. Выражение лямбда возвращает результат выражения и имеет следующую базовую форму:
Если входные параметры отсутствуют, используются пустые скобки:
Тело лямбда-выражения может состоять из вызова метода. Однако если вы создаете деревья выражений, которые оцениваются вне контекста общеязыковой среды выполнения .NET, например, в SQL Server, вы не должны использовать вызовы методов в лямбда-выражениях. Методы не будут иметь никакого значения вне контекста общеязыковой среды выполнения .NET.
Источник: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions
Лямбда-выражения. Продолжение
Выражения лямбды
Лямбда-выражение с выражением справа от оператора => называется выражением лямбда. Выражения лямбда широко используются при построении деревьев выражений. Выражение лямбда возвращает результат выражения и имеет следующую базовую форму:
(входные параметры) => выражениеСкобки необязательны, только если лямбда имеет один входной параметр, в противном случае они требуются.
Если входные параметры отсутствуют, используются пустые скобки:
Action line = () => Console.WriteLine();Два или более входных параметров разделяются запятыми в скобках:
Func<int, int, bool> testForEquality = (x, y) => x == y;Иногда компилятор не может определить типы входных параметров. Вы можете указать типы явно:
Func<int, string, bool> isTooLong = (int x, string s) => s.Length > x;Типы входных параметров должны либо все указываться явно, либо не указываться вообще, иначе будет выброшено исключение компилятора CS0748.
Тело лямбда-выражения может состоять из вызова метода. Однако если вы создаете деревья выражений, которые оцениваются вне контекста общеязыковой среды выполнения .NET, например, в SQL Server, вы не должны использовать вызовы методов в лямбда-выражениях. Методы не будут иметь никакого значения вне контекста общеязыковой среды выполнения .NET.
Источник: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions