Что такое лямбда-выражение в C#
Лямбда-выражение — это короткий и лаконичный способ определения встроенного метода без необходимости объявлять отдельный метод. По сути, это анонимный метод, который можно присвоить переменной или использовать в качестве параметра. Лямбда-выражения в C# представлены оператором «=>», который читается как оператор «переходит к»:
Синтаксис лямбда-выражения:
( параметр ) => выражение
Где параметр — это входные данные функции, а выражение — выходные данные функции. В следующем примере показано использование лямбда-выражения для вычисления квадрата числа:
инт квадрат '=' ( Икс ) => Икс * Икс ;
В этом примере лямбда-выражение принимает входной параметр x и возвращает квадрат x. Результат лямбда-выражения присваивается переменной Square, и вот полный код для этого примера:
используя систему ;
программа класса {
статический пустота Основной ( нить [ ] аргументы ) {
Функц. < инт , инт > квадрат '=' Икс => Икс * Икс ;
Консоль. WriteLine ( квадрат ( 6 ) ) ;
}
}
В этом примере мы определяем лямбда-выражение, которое принимает целочисленный входной параметр x и возвращает его квадрат. Тип Func
Что такое анонимная функция C#
Анонимная функция — это функция без имени, представляющая собой своего рода лямбда-выражение, которое определяется и вызывается в строке, без объявления отдельного метода. Анонимные функции в C# представлены ключевым словом «делегат», которое используется для объявления нового метода с определенной сигнатурой. Синтаксис анонимной функции следующий:
делегировать ( параметр ) { выражение }
Где параметр — это входные данные функции, а выражение — выходные данные функции. Следующий пример демонстрирует использование анонимной функции для вычисления суммы двух чисел:
делегировать ( инт а , инт б ) { возвращаться а + б ; }В этом примере функция Anonymous принимает два входных параметра x и y и возвращает сумму f и g:
используя систему ;программа класса {
статический пустота Основной ( нить [ ] аргументы ) {
Функц. < инт , инт , инт > сумма '=' делегировать ( инт ф , инт г ) { возвращаться ф + г ; } ;
Консоль. WriteLine ( сумма ( 2 , 3 ) ) ;
}
}
В этом примере мы определяем анонимную функцию, которая принимает два целочисленных входных параметра x и y и возвращает их сумму. Мы объявляем переменную sum как тип Func
Заключение
Лямбда-выражения и анонимные функции — это мощные концепции C#, которые позволяют разработчикам писать краткий, эффективный и удобный для чтения код. Лямбда-выражения используются для определения встроенных методов без необходимости объявления отдельного метода, а анонимные функции используются для определения и вызова встроенных функций без необходимости объявления отдельного делегата метода (int x, int y) { return x + y; }. Обе концепции являются важными инструментами для любого разработчика C#, который хочет писать эффективный и удобный в сопровождении код.