Co je lambda výraz v C#
Lambda výraz je krátký a výstižný způsob, jak definovat metodu inline, bez nutnosti deklarovat samostatnou metodu. Je to v podstatě anonymní metoda, kterou lze přiřadit proměnné nebo použít jako parametr, výrazy lambda v C# jsou reprezentovány operátorem „=>“, který se čte jako operátor „goes to“:
Syntaxe výrazu Lambda je:
( parametr ) => výraz
Kde parametr je vstupem funkce a výraz je výstupem funkce. Následující příklad ukazuje použití výrazu Lambda k výpočtu druhé mocniny čísla:
int náměstí = ( X ) => X * X ;
V tomto příkladu výraz Lambda přebírá vstupní parametr x a vrací druhou mocninu x. Výsledek výrazu Lambda je přiřazen k proměnné čtverec a zde je úplný kód pro tento příklad:
pomocí System ;
třídní program {
statický prázdnota Hlavní ( tětiva [ ] argumenty ) {
Func < int , int > náměstí = X => X * X ;
Řídicí panel. WriteLine ( náměstí ( 6 ) ) ;
}
}
V tomto příkladu definujeme výraz Lambda, který přebírá celočíselný vstupní parametr x a vrací jeho druhou mocninu. Typ Func
Co je anonymní funkce C#
Anonymní funkce je funkce, která nemá jméno a je jakýmsi výrazem Lambda, který je definován a volán inline, bez deklarování samostatné metody. Anonymní funkce v C# jsou reprezentovány klíčovým slovem „delegate“, které se používá k deklaraci nové metody se specifickým podpisem, syntaxe pro anonymní funkci je:
delegát ( parametr ) { výraz }
Kde parametr je vstupem funkce a výraz je výstupem funkce. Následující příklad ukazuje použití anonymní funkce k výpočtu součtu dvou čísel:
delegát ( int A , int b ) { vrátit se A + b ; }V tomto příkladu má funkce Anonymous dva vstupní parametry x a y a vrátí součet f a g:
pomocí System ;třídní program {
statický prázdnota Hlavní ( tětiva [ ] argumenty ) {
Func < int , int , int > součet = delegát ( int F , int G ) { vrátit se F + G ; } ;
Řídicí panel. WriteLine ( součet ( 2 , 3 ) ) ;
}
}
V tomto příkladu definujeme anonymní funkci, která přebírá dva celočíselné vstupní parametry x a y a vrací jejich součet. Proměnnou součtu deklarujeme jako typ Func
Závěr
Lambda výrazy a anonymní funkce jsou výkonné koncepty v C#, které umožňují vývojářům psát stručný, efektivní a snadno čitelný kód. Lambda výrazy se používají k definování inline metod bez nutnosti deklarovat samostatnou metodu, zatímco Anonymní funkce slouží k definování a volání inline funkcí bez nutnosti deklarace samostatné metody delegát (int x, int y) { return x + y; }. Oba koncepty jsou základními nástroji pro každého vývojáře C#, který chce psát efektivní a udržovatelný kód.