Vad är Lambda Expression i C#
Ett Lambda-uttryck är ett kort, koncist sätt att definiera en metod inline, utan att behöva deklarera en separat metod. Det är i huvudsak en anonym metod som kan tilldelas en variabel eller användas som en parameter, Lambda-uttryck i C# representeras av operatorn '=>', som läses som operatorn 'går till':
Syntaxen för ett Lambda-uttryck är:
( parameter ) => uttryck
Där parametern är indata till funktionen och uttrycket är utdata från funktionen. Följande exempel visar användningen av ett Lambda-uttryck för att beräkna kvadraten på ett tal:
int fyrkant = ( x ) => x * x ;
I det här exemplet tar Lambda-uttrycket en indataparameter x och returnerar kvadraten på x. Resultatet av Lambda-uttrycket tilldelas variabelkvadraten och här är hela koden för detta exempel:
använder System ;
klass program {
statisk tomhet Main ( sträng [ ] args ) {
Func < int , int > fyrkant = x => x * x ;
Trösta. Skrivlinje ( fyrkant ( 6 ) ) ;
}
}
I det här exemplet definierar vi ett Lambda-uttryck som tar en heltalsinmatningsparameter x och returnerar sin kvadrat. Typen Func
Vad är anonym funktion C#
Den anonyma funktionen är en funktion som är utan namn och är ett slags Lambda-uttryck som definieras och kallas inline, utan att deklarera en separat metod. Anonyma funktioner i C# representeras av nyckelordet 'delegat', som används för att deklarera en ny metod med en specifik signatur, syntaxen för en anonym funktion är:
delegera ( parameter ) { uttryck }
Där parametern är indata till funktionen och uttrycket är utdata från funktionen. Följande exempel visar användningen av en anonym funktion för att beräkna summan av två tal:
delegera ( int a , int b ) { lämna tillbaka a + b ; }I det här exemplet tar funktionen Anonym två ingångsparametrar x och y och returnerar summan av f och g:
använder System ;klass program {
statisk tomhet Main ( sträng [ ] args ) {
Func < int , int , int > belopp = delegera ( int f , int g ) { lämna tillbaka f + g ; } ;
Trösta. Skrivlinje ( belopp ( 2 , 3 ) ) ;
}
}
I det här exemplet definierar vi en anonym funktion som tar två heltalsinmatningsparametrar x och y och returnerar deras summa. Vi deklarerar summavariabeln som en Func
Slutsats
Lambda-uttryck och anonyma funktioner är kraftfulla koncept i C# som gör att utvecklare kan skriva kortfattad, effektiv och lättläst kod. Lambda-uttryck används för att definiera inline-metoder utan att behöva deklarera en separat metod, medan anonyma funktioner används för att definiera och anropa inline-funktioner utan att behöva deklarera en separat metod delegate (int x, int y) { return x + y; }. Båda koncepten är viktiga verktyg för alla C#-utvecklare som vill skriva effektiv och underhållbar kod.