Kas yra Lambda išraiška C#
Lambda išraiška yra trumpas, glaustas būdas apibrėžti metodą tiesiogiai, nereikia deklaruoti atskiro metodo. Iš esmės tai yra anoniminis metodas, kurį galima priskirti kintamajam arba naudoti kaip parametrą, Lambda išraiškos C# vaizduojamos operatoriumi „=>“, kuris skaitomas kaip „eina į“ operatorius:
Lambda išraiškos sintaksė yra tokia:
( parametras ) => išraiška
Kur parametras yra funkcijos įvestis, o išraiška yra funkcijos išvestis. Toliau pateiktame pavyzdyje parodytas Lambda išraiškos naudojimas skaičiaus kvadratui apskaičiuoti:
tarpt kvadratas = ( x ) => x * x ;
Šiame pavyzdyje Lambda išraiška paima įvesties parametrą x ir grąžina x kvadratą. Lambda išraiškos rezultatas priskiriamas kintamajam kvadratui ir čia yra visas šio pavyzdžio kodas:
naudojant Sistemą ;
klasės programa {
statinis tuštuma Pagrindinis ( styga [ ] args ) {
Func < tarpt , tarpt > kvadratas = x => x * x ;
Konsolė. WriteLine ( kvadratas ( 6 ) ) ;
}
}
Šiame pavyzdyje apibrėžiame Lambda išraišką, kuri paima sveikojo skaičiaus įvesties parametrą x ir grąžina jo kvadratą. Tipas Func
Kas yra anoniminė funkcija C#
Anoniminė funkcija yra funkcija, kuri neturi pavadinimo ir yra tam tikra Lambda išraiška, kuri apibrėžiama ir vadinama eilute, nenurodant atskiro metodo. Anoniminės funkcijos C# vaizduojamos raktiniu žodžiu „delegate“, kuris naudojamas deklaruoti naują metodą su konkrečiu parašu, o anoniminės funkcijos sintaksė yra tokia:
deleguoti ( parametras ) { išraiška }
Kur parametras yra funkcijos įvestis, o išraiška yra funkcijos išvestis. Toliau pateiktame pavyzdyje parodytas anoniminės funkcijos naudojimas apskaičiuojant dviejų skaičių sumą:
deleguoti ( tarpt a , tarpt b ) { grąžinti a + b ; }Šiame pavyzdyje funkcija Anoniminė paima du įvesties parametrus x ir y ir grąžina f ir g sumą:
naudojant Sistemą ;klasės programa {
statinis tuštuma Pagrindinis ( styga [ ] args ) {
Func < tarpt , tarpt , tarpt > suma = deleguoti ( tarpt f , tarpt g ) { grąžinti f + g ; } ;
Konsolė. WriteLine ( suma ( 2 , 3 ) ) ;
}
}
Šiame pavyzdyje apibrėžiame Anoniminę funkciją, kuri paima du sveikųjų skaičių įvesties parametrus x ir y ir grąžina jų sumą. Sumos kintamąjį deklaruojame kaip Func
Išvada
Lambda išraiškos ir anoniminės funkcijos yra galingos C# sąvokos, leidžiančios kūrėjams rašyti glaustą, efektyvų ir lengvai skaitomą kodą. Lambda išraiškos naudojamos eilutiniams metodams apibrėžti, nereikia deklaruoti atskiro metodo, o anoniminės funkcijos naudojamos eilutinėms funkcijoms apibrėžti ir iškviesti, nereikia deklaruoti atskiro metodo delegate (int x, int y) { return x + y; }. Abi sąvokos yra būtinos priemonės bet kuriam C# kūrėjui, norinčiam rašyti efektyvų ir prižiūrimą kodą.