Programiranje

Kako uporabljati lambda izraze v jeziku C #

Lambda izrazi so bili prvič predstavljeni v .NET 3.5 hkrati z omogočanjem jezikovno integrirane poizvedbe (LINQ). Lambda izrazi so kot anonimne metode, vendar z veliko večjo prilagodljivostjo. Ko uporabljate lambda izraz, vam ni treba določiti vrste vnosa. Zato lambda izraz omogoča krajši in čistejši način predstavitve anonimnih metod.

V tem članku bomo preučili, kako lahko uporabimo lambda izraze v jeziku C #. Če želite delati s primeri kod v tem članku, morate imeti v sistemu nameščen Visual Studio 2019. Če kopije še nimate, lahko Visual Studio 2019 prenesete tukaj.

Ustvarite projekt aplikacije za konzolo v Visual Studio

Najprej ustvarimo aplikacijski projekt konzole .NET Core v Visual Studio. Ob predpostavki, da je Visual Studio 2019 nameščen v vašem sistemu, sledite spodnjim korakom, da ustvarite nov aplikacijski projekt konzole .NET Core v Visual Studio.

  1. Zaženite Visual Studio IDE.
  2. Kliknite »Ustvari nov projekt«.
  3. V oknu »Ustvari nov projekt« na seznamu predlog izberite »Console App (.NET Core)«.
  4. Kliknite Naprej.
  5. V naslednjem oknu »Konfiguriranje novega projekta« določite ime in mesto novega projekta.
  6. Kliknite Ustvari.

Iz teh korakov bi se lahko končal nov projektni program za konzolo .NET Core v Visual Studio 2019. Ta projekt bomo uporabili za delo z lambda izrazi C # v naslednjih odsekih tega članka.

Anatomija Lambda izraza

V bistvu je lambda izraz metoda, ki nima izjave. Z drugimi besedami, lambda izraz je metoda, ki nima specifikatorja dostopa ali imena. Lambda izraz lahko razdelimo na dva dela - levi in ​​desni del. Levi del se uporablja za vnos, desni pa za pisanje izrazov.

Tu je sintaksa za uporabo lambda izrazov v C #.

(Vhodni parametri) => izraz ali blok stavka

Lahko imate dve vrsti lambda izrazov, izraz lambda in stavek lambda. Izraz lambda je sestavljen iz vhoda na levi strani in izraza na desni strani, kot je prikazano spodaj.

input => izraz;

Izjava lambda je sestavljena iz vhoda na levi strani in nabora izjav na desni strani, kot je prikazano spodaj.

input => {izjave};

Primeri lambda izraza v jeziku C #

Pisanje lambda izraza je preprosto - samo odstraniti morate ključno besedo in vrsto parametra iz anonimne metode. Razmislite o naslednji anonimni metodi, ki uporablja ključno besedo delegat in vrsto parametra.

delegat (avtor a) {return a.IsActive && a.NoOfBooksAuthored> 10; }

Zgornji stavek je mogoče pretvoriti v lambda izraz, kot je prikazano v spodnjem delčku kode.

(a) => {a.IsActive && a.NoOfBooksAuthored> 10; }

V zgornji izjavi a je parameter in => je lambda operater. Naslednja izjava je izraz.

a.IsActive && a.NoOfBooksAuthored> 10;

Tu je še en primer lambda izraza, ki v oknu konzole prikaže neparne številke med 1 in 9.

Seznam celih števil = nov seznam {1, 2, 3, 4, 5, 6, 7, 8, 9};

foreach (int število v celih številih. Kje (n => n% 2 == 1). Toolist ())

{

Console.WriteLine (num);

}

Lambda izrazi z in brez parametrov

Lambda izrazi so lahko brez parametrov ali imajo enega ali več parametrov. Naslednji delček kode prikazuje lambda izraz, ki nima nobenih parametrov.

() => Console.WriteLine ("To je lambda izraz brez kakršnega koli parametra");

Lambda izrazi imajo lahko tudi enega ali več parametrov. Naslednji delček kode prikazuje, kako lahko en parameter prenesete v lambda izraz.

(a, numberOfBooksAuthored) => a.NoOfBooksAuthored> = numberOfBooksAuthored;

V lambda izrazu lahko določite tudi vrsto parametra, kot je prikazano v spodnjem delčku kode.

(a, int numberOfBooksAuthored) => a.NoOfBooksAuthored> = numberOfBooksAuthored;

S pomočjo kodrastih oklepajev lahko celo določite več stavkov v lambda izrazu. To je prikazano v naslednjem delčku kode.

(a, 10) =>

{

Console.WriteLine ("To je primer lambda izraza

z več izjavami ");

vrni a.NoOfBooksAuthored> = 10;

}

Izjava lambdas v C #

Izjava lambda uporablja sintakso, enako identičnemu izrazu lambda. Razlika je v tem, da ima lambda stavka namesto izraza desno od operaterja kodni blok, ki vključuje enega ali več stavkov.

Naslednji delček kode ponazarja, kako lahko izkoristite lambda stavka za prikaz parnih števil med 1 in 9 v oknu konzole.

int [] cela števila = novo [] {1, 2, 3, 4, 5, 6, 7, 8, 9};

foreach (int i v celih številih. Kje (x =>

{

če (x% 2 == 0)

vrni res;

vrni false;

 }

 ))

Console.WriteLine (i);

Lambda izrazi so odlična funkcija v .NET in .NET Core, ki omogočata krajši način predstavitve anonimnih metod. Lambda izrazi imajo lahko nič parametrov ali enega ali več. Lambda izraze lahko celo dodelite delegatom Func, Action ali Predicate. V prihodnjem članku bomo raziskali te in druge značilnosti lambda izrazov. Raziskovali bomo tudi, kako lahko delamo z lambda izrazi in LINQ ter asinhnimi lambdami.

Kako narediti več v jeziku C #:

  • Kdaj uporabiti abstraktni razred v primerjavi z vmesnikom v jeziku C #
  • Kako delati z AutoMapper v C #
  • Kako uporabljati lambda izraze v jeziku C #
  • Kako delati z delegati Action, Func in Predicate v C #
  • Kako delati z delegati v C #
  • Kako implementirati preprost zapisovalnik v jeziku C #
  • Kako delati z atributi v jeziku C #
  • Kako delati z log4net v C #
  • Kako implementirati vzorec oblikovanja repozitorija v C #
  • Kako delati z refleksijo v jeziku C #
  • Kako delati z nadzornikom datotek v C #
  • Kako izvesti leno inicializacijo v C #
  • Kako delati z MSMQ v C #
  • Kako delati z razširitvenimi metodami v jeziku C #
  • Kako do lambda izrazov v jeziku C #
  • Kdaj uporabiti hlapljivo ključno besedo v jeziku C #
  • Kako uporabiti ključno besedo yield v jeziku C #
  • Kako uporabiti polimorfizem v jeziku C #
  • Kako zgraditi lasten načrtovalnik opravil v C #
  • Kako delati z RabbitMQ v C #
  • Kako delati s korpico v jeziku C #
  • Raziskovanje virtualnih in abstraktnih metod v jeziku C #
$config[zx-auto] not found$config[zx-overlay] not found