Junior — Middle
Z jakich elementów składa się wewnętrzna struktura operatora foreach w C#?
sobes.tech AI
Odpowiedź od AI
Wewnętrzna struktura operatora foreach w C# opiera się na użyciu interfejsu IEnumerable i jego metody GetEnumerator(). Główne elementy:
- Kolekcja implementująca
IEnumerable— obiekt, po którym odbywa się iteracja. - Enumerator (enumerator), implementujący
IEnumerator— obiekt zarządzający iteracją po kolekcji. - Metoda
MoveNext()— przesuwa wskaźnik na następny element kolekcji. - Właściwość
Current— zwraca bieżący element kolekcji.
Przykład, co dzieje się pod maską:
IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
var item = enumerator.Current;
// ciało pętli foreach
}
W ten sposób foreach upraszcza pracę z enumeratorami, ukrywając szczegóły wywołania GetEnumerator(), MoveNext() i dostępu do Current.