Čo je výraz Lambda a anonymná funkcia v C#

Co Je Vyraz Lambda A Anonymna Funkcia V C



Lambda výrazy a anonymné funkcie sú dva výkonné koncepty v C#, ktoré umožňujú vývojárom písať stručný, efektívny a ľahko čitateľný kód. Tieto funkcie umožňujú vývojárom písať inline funkcie bez potreby deklarovať samostatnú metódu. Tento článok bude diskutovať o tom, čo sú výrazy lambda a anonymné funkcie v jazyku C#, a poskytne samostatné príklady pre každý z nich.

Čo je výraz Lambda v C#

Lambda výraz je krátky, výstižný spôsob, ako definovať metódu inline, bez potreby deklarovať samostatnú metódu. Je to v podstate anonymná metóda, ktorá môže byť priradená k premennej alebo použitá ako parameter, Lambda výrazy v C# sú reprezentované operátorom „=>“, ktorý sa číta ako operátor „goes to“:

Syntax pre výraz Lambda je:







( parameter ) => výraz

Kde parameter je vstupom funkcie a výraz je výstupom funkcie. Nasledujúci príklad ukazuje použitie výrazu Lambda na výpočet druhej mocniny čísla:



int námestie = ( X ) => X * X ;

V tomto príklade výraz Lambda preberá vstupný parameter x a vracia druhú mocninu x. Výsledok výrazu Lambda je priradený štvorcu premennej a tu je úplný kód pre tento príklad:



pomocou systému ;

triedny program {

statické neplatné Hlavná ( reťazec [ ] args ) {

Func < int , int > námestie = X => X * X ;

Konzola. WriteLine ( námestie ( 6 ) ) ;

}

}

V tomto príklade definujeme výraz Lambda, ktorý berie celočíselný vstupný parameter x a vracia jeho druhú mocninu. Typ Func definuje, že výraz Lambda preberá celočíselný vstupný parameter a vracia celočíselnou hodnotu. Tento výraz Lambda priradíme štvorcovej premennej a potom ho zavoláme so vstupnou hodnotou 6 a výstupom bude 36.





Čo je anonymná funkcia C#

Anonymná funkcia je funkcia, ktorá nemá názov a je to druh výrazu Lambda, ktorý je definovaný a nazývaný inline, bez deklarovania samostatnej metódy. Anonymné funkcie v C# sú reprezentované kľúčovým slovom „delegate“, ktoré sa používa na deklarovanie novej metódy so špecifickým podpisom, syntax pre anonymnú funkciu je:



delegovať ( parameter ) { výraz }

Kde parameter je vstupom funkcie a výraz je výstupom funkcie. Nasledujúci príklad ukazuje použitie anonymnej funkcie na výpočet súčtu dvoch čísel:

delegovať ( int a , int b ) { vrátiť a + b ; }

V tomto príklade má funkcia Anonymous dva vstupné parametre x a y a vráti súčet f a g:

pomocou systému ;

triedny program {

statické neplatné Hlavná ( reťazec [ ] args ) {

Func < int , int , int > súčet = delegovať ( int f , int g ) { vrátiť f + g ; } ;

Konzola. WriteLine ( súčet ( 2 , 3 ) ) ;

}

}

V tomto príklade definujeme anonymnú funkciu, ktorá berie dva celočíselné vstupné parametre x a y a vracia ich súčet. Premennú sum deklarujeme ako typ Func , ktorý určuje, že funkcia preberá dva celočíselné vstupné parametre a vracia celočíselnou hodnotu. Na definovanie funkcie použijeme kľúčové slovo delegát a potom ju zavoláme so vstupnými hodnotami 2 a 3. Výstupom bude 5.

Záver

Lambda výrazy a anonymné funkcie sú výkonné koncepty v C#, ktoré umožňujú vývojárom písať stručný, efektívny a ľahko čitateľný kód. Lambda výrazy sa používajú na definovanie inline metód bez potreby deklarovať samostatnú metódu, zatiaľ čo Anonymné funkcie sa používajú na definovanie a volanie inline funkcií bez potreby deklarovania samostatnej metódy delegát (int x, int y) { return x + y; }. Oba koncepty sú základnými nástrojmi pre každého vývojára C#, ktorý chce písať efektívny a udržiavateľný kód.