Лябда-выражения являются реализацией замыканий. Это своего рода контейнер с функцией, который можно передавать в любую часть программы и вызвать с нужными аргументами. Кроме того лямбда-выражение связывает функцыю внутри себя с лексическим окружением. То есть лямбда-выражение видит все переменные и методы объекта в котором оно формируется.
Синтаксис лямбда-выражений очень простой состоит из дувух частей
Синтаксис лямбда-выражений очень простой состоит из дувух частей
аргументы можно указывать с типами, но в большинстве случаев это не требуется. Следующая запись будет означать, что создаем лямбда-выражение с двумя аргументами num типа int и name типа string.([аргументы]) => {[тело функции]}
Если аргументов нет, тогда запись будет выглядеть так(int num, string name) => {[тело функции]}
Если аргумент один и не требуется указывать его тип, то можно опустить круглые скобки сократив запи() => {[тело функции]}
Внутри блока {[тело функции]} можно вставлять любые операции дозволенные в текущем лексическом окружении. Если [тело функции] состоит из одной операции, то можно опустить фигурныеarg => {[тело функции]}
В этом случае лямбда-выражение вернет (если требуется) последнее значение со стека. В предыдущей записи это будет результат работы функции SomeFunction(...). А вот такая запись лямбда-выражения вернет а([аргументы]) => SomeFunction(...)
Ну вот и все, можно пользоваться.(int num, string name) => num
Комментариев нет:
Отправить комментарий