Programovanie

Ako používať výrazy lambda v C #

Výrazy lambda boli prvýkrát predstavené v .NET 3.5, súčasne s sprístupnením jazykového integrovaného dotazu (LINQ). Lambda výrazy sú ako anonymné metódy, ale s oveľa väčšou flexibilitou. Ak používate výraz lambda, nemusíte zadávať typ vstupu. Preto výraz lambda poskytuje kratší a čistejší spôsob predstavovania anonymných metód.

V tomto článku sa pozrieme na to, ako môžeme používať výrazy lambda v C #. Ak chcete pracovať s príkladmi kódu uvedenými v tomto článku, mali by ste mať vo svojom systéme nainštalovanú aplikáciu Visual Studio 2019. Ak ešte nemáte kópiu, môžete si tu stiahnuť Visual Studio 2019.

Vytvorte projekt konzolovej aplikácie v Visual Studio

Najprv si vytvoríme projekt konzolovej aplikácie .NET Core v Visual Studio. Za predpokladu, že je vo vašom systéme nainštalované Visual Studio 2019, vytvorte nový projekt konzolovej aplikácie .NET Core v Visual Studio podľa pokynov uvedených nižšie.

  1. Spustite Visual Studio IDE.
  2. Kliknite na „Vytvoriť nový projekt“.
  3. V okne „Vytvoriť nový projekt“ vyberte zo zobrazeného zoznamu šablón „Console App (.NET Core)“.
  4. Kliknite na Ďalej.
  5. V nasledujúcom okne „Konfigurácia nového projektu“ zadajte názov a umiestnenie nového projektu.
  6. Kliknite na tlačidlo Vytvoriť.

Výsledkom týchto krokov by mal byť nový projekt konzolovej aplikácie .NET Core v Visual Studio 2019. Tento projekt použijeme na prácu s výrazmi lambda v jazyku C # v ďalších častiach tohto článku.

Anatómia lambda výrazu

Výraz lambda je v podstate metóda, ktorá nemá deklaráciu. Inými slovami, výraz lambda je metóda, ktorá nemá špecifikátor prístupu ani názov. Výraz lambda možno rozdeliť na dve časti - ľavú časť a pravú časť. Ľavá časť slúži na zadávanie a pravá časť na písanie výrazov.

Tu je syntax pre použitie výrazov lambda v C #.

(Vstupné parametre) => Výraz alebo blok príkazov

Môžete mať dva typy výrazov lambda, výraz lambda a výraz lambda. Výraz lambda sa skladá zo vstupu na ľavej strane a výrazu na pravej strane, ako je uvedené nižšie.

vstup => výraz;

Príkaz lambda sa skladá zo vstupu na ľavej strane a množiny príkazov na pravej strane, ako je uvedené nižšie.

vstup => {vyjadrenia};

Príklady výrazov lambda v C #

Písanie výrazu lambda je jednoduché - stačí odstrániť delegované kľúčové slovo a typ parametra z anonymnej metódy. Zvážte nasledujúcu anonymnú metódu, ktorá používa kľúčové slovo delegáta, ako aj typ parametra.

delegát (Autor a) {návrat a.IsActive && a.NoOfBooksAuthored> 10; }

Vyššie uvedené vyhlásenie je možné previesť na výraz lambda, ako je uvedené v útržku kódu uvedenom nižšie.

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

Vo vyššie uvedenom vyhlásení a je parameter a => je operátor lambda. Nasledujúci výrok je výraz.

a.IsActive && a.NoOfBooksAuthored> 10;

Tu je ďalší príklad výrazu lambda, ktorý zobrazuje nepárne čísla medzi 1 a 9 v okne konzoly.

Celé čísla zoznamu = nový Zoznam {1, 2, 3, 4, 5, 6, 7, 8, 9};

foreach (int num v celých číslach. Kam (n => n% 2 == 1). ToList ())

{

Console.WriteLine (num);

}

Lambda výrazy s parametrami a bez nich

Výrazy lambda môžu byť bez parametrov alebo môžu mať jeden alebo viac parametrov. Nasledujúci úryvok kódu ilustruje výraz lambda, ktorý nemá žiadne parametre.

() => Console.WriteLine ("Toto je výraz lambda bez akýchkoľvek parametrov");

Lambda výrazy môžu mať tiež jeden alebo viac parametrov. Nasledujúci úryvok kódu ilustruje, ako môžete odovzdať jeden parameter výrazu lambda.

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

Môžete tiež určiť typ parametra vo výraze lambda, ako je uvedené v útržku kódu uvedenom nižšie.

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

Vo výraze lambda môžete dokonca určiť viac príkazov pomocou zložených zátvoriek. Toto je zobrazené v nasledujúcom útržku kódu.

(a, 10) =>

{

Console.WriteLine („Toto je príklad výrazu lambda

s viacerými výrokmi “);

vrátiť a.NoOfBooksAuthored> = 10;

}

Vyhlásenie lambdas v C #

Príkaz lambda používa syntax totožnú s výrazom lambdas. Rozdiel je v tom, že namiesto výrazu napravo od operátora má príkaz lambda blok kódu, ktorý obsahuje jeden alebo viac príkazov.

Nasledujúci úryvok kódu ilustruje, ako môžete využiť príkaz lambda na zobrazenie párnych čísel medzi 1 a 9 v okne konzoly.

int [] celé čísla = nové [] {1, 2, 3, 4, 5, 6, 7, 8, 9};

foreach (int i v celých číslach. Kde (x =>

{

ak (x% 2 == 0)

návrat pravdivý;

návrat nepravdivý;

 }

 ))

Console.WriteLine (i);

Výrazy lambda sú skvelou funkciou v .NET a .NET Core, ktoré poskytujú kratší spôsob reprezentácie anonymných metód. Výrazy lambda môžu mať nulové parametre alebo jeden alebo viac. Delegátom Func, Action alebo Predicate môžete dokonca priradiť výrazy lambda. V budúcom článku tu preskúmame tieto a ďalšie funkcie výrazov lambda. Preskúmame tiež, ako môžeme pracovať s výrazmi lambda a LINQ, ako aj s asynchrónnymi lambdami.

Ako urobiť viac v C #:

  • Kedy použiť abstraktné rozhranie vs. rozhranie v C #
  • Ako pracovať s AutoMapperom v C #
  • Ako používať výrazy lambda v C #
  • Ako pracovať s delegátmi Action, Func a Predicate v C #
  • Ako pracovať s delegátmi v C #
  • Ako implementovať jednoduchý záznamník v C #
  • Ako pracovať s atribútmi v C #
  • Ako pracovať s log4net v C #
  • Ako implementovať vzor návrhu úložiska v C #
  • Ako pracovať s odrazom v C #
  • Ako pracovať so súborovým systémom v C #
  • Ako vykonať lenivú inicializáciu v C #
  • Ako pracovať s MSMQ v C #
  • Ako pracovať s metódami rozšírenia v C #
  • Ako na nás výrazy lambda v C #
  • Kedy použiť volatile kľúčové slovo v C #
  • Ako používať kľúčové slovo výťažku v C #
  • Ako implementovať polymorfizmus v C #
  • Ako zostaviť vlastný plánovač úloh v C #
  • Ako pracovať s RabbitMQ v C #
  • Ako pracovať s n-ticí v C #
  • Skúmanie virtuálnych a abstraktných metód v C #
$config[zx-auto] not found$config[zx-overlay] not found