Saturday, December 04, 2021 20:28

Archive for iunie, 2021

Fluxul de execuție LINQ

miercuri, iunie 23rd, 2021

În lecția anterioară, am vorbit despre faptul că LINQ întârzie de fapt executarea interogărilor sale constituente până în ultimul moment, când avem nevoie de datele respective în mod concret. Ceea ce nu era la fel de evident la momentul respectiv era ordinea în care sunt executate interogările LINQ.… Read more

Executarea amânată

miercuri, iunie 9th, 2021

Mulți programatori par să creadă că executarea amânată (în engleză, deferred execution) există din cauza LINQ, iar acest lucru este doar parțial adevărat. LINQ are multe de-a face cu aceasta, dar execuția amânată există în primul rând din cauza declarației yield.… Read more

Clauze Select degenerate

luni, iunie 7th, 2021

Luând un extras din lecțiile anterioare despre LINQ, aveam aceste coduri:


Dacă ați acordat atenție codului de mai sus, probabil că ați observat funcția Select(n => n). Dacă o analizați puțin, vă dați seama că este o expresie lambda care nu face decât să preia un parametru numit n și să-l returneze, fără nici o modificare.… Read more

Scrierea de metode de extensie LINQ personalizate

luni, iunie 7th, 2021

În lecția anterioară, în care v-am prezentat o previzualizare a modului în care arată LINQ, am terminat cu acest cod:


Și am aflat că sintaxa în formă liberă a LINQ este același lucru și cu sintaxa declarativă a LINQ, care este și ea aceealași lucru cu o grămadă de metode de extensie pentru interfața IEnumerable, declarate în interiorul unei clase numite Enumerable.… Read more


Follow the white rabbit