Junior — Middle
Od kojih elemenata se sastoji interna struktura operatora foreach u C#?
sobes.tech АИ
Одговор од АИ
Unutrašnja struktura operatora foreach u C# zasniva se na korišćenju interfejsa IEnumerable i njegove metode GetEnumerator(). Glavni elementi:
- Kolekcija koja implementira
IEnumerable— objekat preko kojeg se vrši iteracija. - Enumerator (brojač), koji implementira
IEnumerator— objekat koji upravlja iteracijom kroz kolekciju. - Metoda
MoveNext()— pomera pokazivač na sledeći element. - Svojstvo
Current— vraća trenutni element kolekcije.
Primer šta se dešava u pozadini:
IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
var item = enumerator.Current;
// telo foreach petlje
}
Na ovaj način, foreach pojednostavljuje rad sa enumeratorima, skrivajući detalje poziva GetEnumerator(), MoveNext() i pristupa Current-u.