Saturday, October 16, 2021 20:25

Posts Tagged ‘bloc iterator’

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

Instrucțiunea yield break

marți, mai 11th, 2021

Ori de câte ori folosim cuvântul cheie yield într-o declarație, indicăm că metoda, operatorul sau accesorul get în care apare este un iterator. Desigur, din moment ce știm că iteratorii sunt folosiți să… duh! itereze pe colecții de date și, din moment ce știm că atunci când iterăm pe o colecție, putem folosi cuvântul cheie break pentru a termina imediat iterația, este evident că de fiecare dată când folosim o instrucțiune yield return pentru a returna valori dintr-un iterator, cum am arătat în lecția anterioară, putem folosi de asemenea și yield break pentru a termina iterația iteratorului menționat.… Read more

Instrucțiunea yield return

luni, februarie 22nd, 2021

În lecția anterioară, am vorbit despre IEnumerable și IEnumerator și despre modul în care acestea ne ajută atunci când trebuie să iterăm pe colecții de date. Să luăm un exemplu care tratează aceste concepte:


Avem o funcție, GenereazaNumereAleatorii(), în interiorul căreia declarăm o listă de int-uri, generăm un număr de int-uri aleatorii, egal cu parametrul _numarElemente, adăugăm int-urile aleatorii în listă, apoi returnăm lista.… Read more


Follow the white rabbit