Junior — Middle
A C# nyelvben a foreach operátor belső felépítése milyen elemekből áll?
sobes.tech MI
Válasz az MI-től
A foreach operátor belső működése C#-ban az IEnumerable interfész és annak GetEnumerator() metódusának használatán alapul. A fő elemek:
- Az
IEnumerable-t megvalósító gyűjtemény — az objektum, amin keresztül iterálunk. - Az
IEnumerator-t megvalósító enumerátor — az objektum, amely irányítja az iterációt a gyűjteményen belül. - A
MoveNext()metódus — a mutatót a következő elemre helyezi. - A
Currenttulajdonság — visszaadja az aktuális elemet.
Példa arra, hogy mi történik a háttérben:
IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
var item = enumerator.Current;
// foreach ciklus törzse
}
Így a foreach leegyszerűsíti a gyűjtőkkel való munkát, elrejtve a GetEnumerator(), MoveNext() hívásának és a Current elérésének részleteit.