Mis on lambda avaldis ja anonüümne funktsioon C#-s

Mis On Lambda Avaldis Ja Anonuumne Funktsioon C S



Lambda avaldised ja anonüümsed funktsioonid on C# kaks võimsat kontseptsiooni, mis võimaldavad arendajatel kirjutada kokkuvõtlikku, tõhusat ja hõlpsasti loetavat koodi. Need funktsioonid võimaldavad arendajatel kirjutada tekstisiseseid funktsioone, ilma et oleks vaja eraldi meetodit deklareerida. Selles artiklis arutatakse, millised lambda-avaldised ja anonüümsed funktsioonid on C#-s, ning tuuakse igaühe jaoks eraldi näited.

Mis on lambda avaldis C#-s

Lambda-avaldis on lühike ja sisutihe viis meetodi tekstisiseseks määratlemiseks, ilma et oleks vaja eraldi meetodit deklareerida. See on sisuliselt anonüümne meetod, mida saab määrata muutujale või kasutada parameetrina, C#-s esindavad lambda-avaldised operaatoriga “=>”, mida loetakse operaatoriks “läheb”:

Lambda avaldise süntaks on:







( parameeter ) => väljendus

Kus parameeter on funktsiooni sisend ja avaldis funktsiooni väljund. Järgmine näide demonstreerib Lambda avaldise kasutamist arvu ruudu arvutamiseks:



int ruut = ( x ) => x * x ;

Selles näites võtab Lambda avaldis sisendparameetri x ja tagastab x ruudu. Lambda avaldise tulemus määratakse muutuja ruudule ja siin on selle näite täielik kood:



süsteemi kasutades ;

klassi programm {

staatiline tühine Peamine ( string [ ] args ) {

Func < int , int > ruut = x => x * x ;

konsool. WriteLine ( ruut ( 6 ) ) ;

}

}

Selles näites määratleme Lambda avaldise, mis võtab täisarvulise sisendparameetri x ja tagastab selle ruudu. Tüüp Func määrab, et Lambda avaldis võtab täisarvulise sisendparameetri ja tagastab täisarvu väärtuse. Määrame selle Lambda avaldise ruutmuutujale ja seejärel kutsume seda sisendväärtusega 6 ja väljundiks on 36.





Mis on anonüümne funktsioon C#

Anonüümne funktsioon on funktsioon, millel puudub nimi ja mis on omamoodi Lambda avaldis, mis defineeritakse ja nimetatakse tekstisiseseks, ilma eraldi meetodit deklareerimata. Anonüümsed funktsioonid C#-s on esindatud märksõnaga 'delegate', mida kasutatakse konkreetse allkirjaga uue meetodi deklareerimiseks, anonüümse funktsiooni süntaks on:



delegaat ( parameeter ) { väljendus }

Kus parameeter on funktsiooni sisend ja avaldis funktsiooni väljund. Järgmine näide demonstreerib anonüümse funktsiooni kasutamist kahe arvu summa arvutamiseks:

delegaat ( int a , int b ) { tagasi a + b ; }

Selles näites võtab funktsioon Anonüümne kaks sisendparameetrit x ja y ning tagastab f ja g summa:

süsteemi kasutades ;

klassi programm {

staatiline tühine Peamine ( string [ ] args ) {

Func < int , int , int > summa = delegaat ( int f , int g ) { tagasi f + g ; } ;

konsool. WriteLine ( summa ( 2 , 3 ) ) ;

}

}

Selles näites defineerime funktsiooni Anonüümne, mis võtab kaks täisarvulist sisendparameetrit x ja y ning tagastab nende summa. Deklareerime summamuutuja tüübina Func , mis määrab, et funktsioon võtab kaks täisarvu sisendparameetrit ja tagastab täisarvu väärtuse. Funktsiooni määratlemiseks kasutame delegaadi märksõna ja seejärel kutsume seda sisendväärtustega 2 ja 3. Väljundiks on 5.

Järeldus

Lambda-avaldised ja anonüümsed funktsioonid on C#-i võimsad kontseptsioonid, mis võimaldavad arendajatel kirjutada kokkuvõtlikku, tõhusat ja hõlpsasti loetavat koodi. Lambda-avaldisi kasutatakse sisemiste meetodite defineerimiseks ilma, et oleks vaja eraldi meetodit deklareerida, samas kui Anonüümseid funktsioone kasutatakse sisemiste funktsioonide defineerimiseks ja väljakutsumiseks, ilma et oleks vaja deklareerida eraldi meetodit delegate (int x, int y) { return x + y; }. Mõlemad kontseptsioonid on olulised tööriistad igale C# arendajale, kes soovib kirjutada tõhusat ja hooldatavat koodi.