Programmēšana

Kā lietot lambda izteicienus C #

Lambda izteicieni pirmo reizi tika ieviesti .NET 3.5, vienlaikus padarot pieejamu valodu integrēto vaicājumu (LINQ). Lambda izteicieni ir kā anonīmas metodes, bet ar daudz lielāku elastību. Izmantojot lambda izteiksmi, jums nav jānorāda ievades veids. Tādējādi lambda izteiksme nodrošina īsāku un tīrāku veidu, kā attēlot anonīmas metodes.

Šajā rakstā mēs apskatīsim, kā mēs varam izmantot lambda izteicienus C #. Lai strādātu ar šajā rakstā sniegtajiem kodu piemēriem, sistēmā jābūt instalētai Visual Studio 2019. Ja jums vēl nav kopijas, varat lejupielādēt Visual Studio 2019 šeit.

Visual Studio izveidojiet konsoles lietojumprogrammas projektu

Vispirms izveidosim .NET Core konsoles lietojumprogrammas projektu Visual Studio. Pieņemot, ka Visual Studio 2019 ir instalēta jūsu sistēmā, veiciet tālāk norādītās darbības, lai Visual Studio izveidotu jaunu .NET Core konsoles lietojumprogrammas projektu.

  1. Palaidiet Visual Studio IDE.
  2. Noklikšķiniet uz “Izveidot jaunu projektu”.
  3. Logā “Izveidot jaunu projektu” parādīto veidņu sarakstā atlasiet “Console App (.NET Core)”.
  4. Noklikšķiniet uz Tālāk.
  5. Nākamajā logā “Konfigurēt jauno projektu” norādiet jaunā projekta nosaukumu un vietu.
  6. Noklikšķiniet uz Izveidot.

Veicot šīs darbības, Visual Studio 2019 būs jāizveido jauns .NET Core konsoles lietojumprogrammas projekts. Mēs izmantosim šo projektu, lai strādātu ar C # lambda izteiksmēm šī raksta nākamajās sadaļās.

Lambda izteiksmes anatomija

Būtībā lambda izteiksme ir metode, kurai nav deklarācijas. Citiem vārdiem sakot, lambda izteiksme ir metode, kurai nav piekļuves specifikatora vai nosaukuma. Lambda izteiksmi var sadalīt divās daļās - kreisajā un labajā. Kreiso daļu izmanto ievadei, un labo daļu izmanto izteicienu rakstīšanai.

Šeit ir sintakse lambda izteicienu izmantošanai C #.

(Ievades parametri) => Izteiksmes vai priekšraksta bloks

Jums var būt divu veidu lambda izteicieni, izteiciens lambda un paziņojums lambda. Izteiksme lambda sastāv no ievades kreisajā pusē un izteiksmes labajā pusē, kā parādīts zemāk.

ievade => izteiksme;

Izraksts lambda sastāv no ievades kreisajā pusē un paziņojumu kopas labajā pusē, kā parādīts zemāk.

ievade => {paziņojumi};

Lambda izteiksmes piemēri C #

Lambda izteiksmes rakstīšana ir vienkārša - jums vienkārši jānoņem delegāta atslēgvārds un parametru tips no anonīmas metodes. Apsveriet šo anonīmo metodi, kas izmanto deleģēto atslēgvārdu, kā arī parametru tipu.

deleģēt (Autors a) {return a.IsActive && a.NoOfBooksAuthored> 10; }

Iepriekš minēto paziņojumu var pārveidot par lambda izteiksmi, kā parādīts tālāk sniegtajā koda fragmentā.

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

Iepriekš minētajā paziņojumā a ir parametrs un => ir lambda operators. Šis izteikums ir izteiciens.

a.IsActive && a.NoOfBooksAuthored> 10;

Šeit ir vēl viens lambda izteiksmes piemērs, kas konsoles logā parāda nepāra skaitļus no 1 līdz 9.

Saraksta veseli skaitļi = jauns saraksts {1, 2, 3, 4, 5, 6, 7, 8, 9};

foreach (int skaitlis veselos skaitļos. Kur (n => n% 2 == 1). ToList ())

{

Console.WriteLine (num);

}

Lambda izteiksmes ar parametriem un bez tiem

Lambda izteiksmes var būt bez parametriem vai tām var būt viens vai vairāki parametri. Šis koda fragments ilustrē lambda izteiksmi, kurai nav parametru.

() => Console.WriteLine ("Šī ir lambda izteiksme bez parametriem");

Lambda izteiksmēm var būt arī viens vai vairāki parametri. Šis koda fragments parāda, kā jūs varat nodot vienu parametru lambda izteiksmei.

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

Jūs varat arī norādīt parametra tipu lambda izteiksmē, kā parādīts tālāk sniegtajā koda fragmentā.

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

Izmantojot cirtainās lencītes, jūs pat varat norādīt vairākus apgalvojumus lambda izteiksmē. Tas ir parādīts nākamajā koda fragmentā.

(a, 10) =>

{

Console.WriteLine ("Šis ir lambda izteiksmes piemērs

ar vairākiem paziņojumiem ");

atgriež a.NoOfBooksAuthored> = 10;

}

Paziņojums lambdas ar C #

Paziņojumā lambda tiek izmantota sintakse, kas ir identiska izteiksmei lambdas. Atšķirība ir tā, ka tā vietā, lai izteikumam būtu pa labi no operatora, paziņojumā lambda ir kodu bloks, kas ietver vienu vai vairākus paziņojumus.

Šis koda fragments parāda, kā jūs varat izmantot paziņojuma lambda priekšrocības, lai konsoles logā parādītu pāra skaitļus no 1 līdz 9.

int [] veseli skaitļi = jauns [] {1, 2, 3, 4, 5, 6, 7, 8, 9};

foreach (int i veselos skaitļos. Kur (x =>

{

ja (x% 2 == 0)

atgriezties taisnība;

atgriezties nepatiesa;

 }

 ))

Console.WriteLine (i);

Lambda izteiksmes ir lieliska iezīme .NET un .NET Core, kas nodrošina īsāku anonīmu metožu attēlošanas veidu. Lambda izteiksmēm var būt nulle parametru vai viens vai vairāki. Jūs pat varat piešķirt lambda izteicienus delegātiem Func, Action vai Predicate. Turpmākajā rakstā mēs izpētīsim šīs un citas lambda izteicienu funkcijas. Mēs arī izpētīsim, kā mēs varam strādāt ar lambda izteiksmēm un LINQ, kā arī ar asinhronajām lambdas.

Kā izdarīt vairāk C #:

  • Kad izmantot abstraktu klasi un saskarni C #
  • Kā strādāt ar AutoMapper C #
  • Kā lietot lambda izteicienus C #
  • Kā strādāt ar Action, Func un Predicate delegātiem C #
  • Kā strādāt ar delegātiem C #
  • Kā ieviest vienkāršu reģistrētāju C #
  • Kā strādāt ar atribūtiem C #
  • Kā strādāt ar log4net C #
  • Kā ieviest krātuves dizaina modeli C #
  • Kā strādāt ar refleksiju C #
  • Kā strādāt ar filesystemwatcher C #
  • Kā veikt slinku inicializāciju C #
  • Kā strādāt ar MSMQ C #
  • Kā strādāt ar paplašināšanas metodēm C #
  • Kā mums izteikt lambda izteicienus C #
  • Kad lietot svārstīgo atslēgvārdu C #
  • Kā izmantot ienesīguma atslēgvārdu C #
  • Kā ieviest polimorfismu C #
  • Kā izveidot savu uzdevumu plānotāju C #
  • Kā strādāt ar RabbitMQ C #
  • Kā strādāt ar dubultošanos C #
  • Virtuālu un abstraktu metožu izpēte C #
$config[zx-auto] not found$config[zx-overlay] not found