Что такое лямбда-выражение и анонимная функция в C#

Cto Takoe Lambda Vyrazenie I Anonimnaa Funkcia V C



Лямбда-выражения и анонимные функции — это две мощные концепции C#, которые позволяют разработчикам писать краткий, эффективный и удобный для чтения код. Эти функции позволяют разработчикам писать встроенные функции без необходимости объявлять отдельный метод. В этой статье мы обсудим, что такое лямбда-выражения и анонимные функции в C#, и приведем отдельные примеры для каждого из них.

Что такое лямбда-выражение в C#

Лямбда-выражение — это короткий и лаконичный способ определения встроенного метода без необходимости объявлять отдельный метод. По сути, это анонимный метод, который можно присвоить переменной или использовать в качестве параметра. Лямбда-выражения в C# представлены оператором «=>», который читается как оператор «переходит к»:

Синтаксис лямбда-выражения:







( параметр ) => выражение

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



инт квадрат '=' ( Икс ) => Икс * Икс ;

В этом примере лямбда-выражение принимает входной параметр x и возвращает квадрат x. Результат лямбда-выражения присваивается переменной Square, и вот полный код для этого примера:



используя систему ;

программа класса {

статический пустота Основной ( нить [ ] аргументы ) {

Функц. < инт , инт > квадрат '=' Икс => Икс * Икс ;

Консоль. WriteLine ( квадрат ( 6 ) ) ;

}

}

В этом примере мы определяем лямбда-выражение, которое принимает целочисленный входной параметр x и возвращает его квадрат. Тип Func определяет, что лямбда-выражение принимает целочисленный входной параметр и возвращает целочисленное значение. Мы присваиваем это лямбда-выражение квадратной переменной, а затем вызываем ее с входным значением 6, а на выходе будет 36.





Что такое анонимная функция C#

Анонимная функция — это функция без имени, представляющая собой своего рода лямбда-выражение, которое определяется и вызывается в строке, без объявления отдельного метода. Анонимные функции в C# представлены ключевым словом «делегат», которое используется для объявления нового метода с определенной сигнатурой. Синтаксис анонимной функции следующий:



делегировать ( параметр ) { выражение }

Где параметр — это входные данные функции, а выражение — выходные данные функции. Следующий пример демонстрирует использование анонимной функции для вычисления суммы двух чисел:

делегировать ( инт а , инт б ) { возвращаться а + б ; }

В этом примере функция Anonymous принимает два входных параметра x и y и возвращает сумму f и g:

используя систему ;

программа класса {

статический пустота Основной ( нить [ ] аргументы ) {

Функц. < инт , инт , инт > сумма '=' делегировать ( инт ф , инт г ) { возвращаться ф + г ; } ;

Консоль. WriteLine ( сумма ( 2 , 3 ) ) ;

}

}

В этом примере мы определяем анонимную функцию, которая принимает два целочисленных входных параметра x и y и возвращает их сумму. Мы объявляем переменную sum как тип Func , который указывает, что функция принимает два целочисленных входных параметра и возвращает целочисленное значение. Мы используем ключевое слово delegate для определения функции, а затем вызываем ее с входными значениями 2 и 3. На выходе будет 5.

Заключение

Лямбда-выражения и анонимные функции — это мощные концепции C#, которые позволяют разработчикам писать краткий, эффективный и удобный для чтения код. Лямбда-выражения используются для определения встроенных методов без необходимости объявления отдельного метода, а анонимные функции используются для определения и вызова встроенных функций без необходимости объявления отдельного делегата метода (int x, int y) { return x + y; }. Обе концепции являются важными инструментами для любого разработчика C#, который хочет писать эффективный и удобный в сопровождении код.