Junior — Middle
Millest koosneb foreach operaatori sisemine struktuur C#-s?
sobes.tech AI
Vastus AI-lt
Sisemine foreach operaatori struktuur C#-s põhineb IEnumerable liidese ja selle GetEnumerator() meetodi kasutamisel. Peamised elemendid:
- Kogum, mis rakendab
IEnumerable— objekt, mille kaudu iteratsioon toimub. - Enumerator (loendur), mis rakendab
IEnumerator— objekt, mis juhib iteratsiooni kogumi üle. - Meetod
MoveNext()— liigub järgmise elemendi juurde. - Omadus
Current— tagastab praeguse elemendi.
Näide, mis toimub varjupool:
IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
var item = enumerator.Current;
// foreach tsükli keha
}
Seega lihtsustab foreach töö tegemist enumeratoritega, varjates GetEnumerator(), MoveNext() ja Current-i juurdepääsu üksikasju.