Junior — Middle
Από ποια στοιχεία αποτελείται η εσωτερική δομή του τελεστή foreach στη C#;
sobes.tech AI
Απάντηση από AI
Η εσωτερική δομή του τελεστή foreach στη C# βασίζεται στη χρήση της διεπαφής IEnumerable και της μεθόδου GetEnumerator(). Τα βασικά στοιχεία:
- Συλλογή που υλοποιεί το
IEnumerable— το αντικείμενο πάνω στο οποίο γίνεται η επανάληψη. - Επαναμετρητής (enumerator), που υλοποιεί το
IEnumerator— το αντικείμενο που ελέγχει την επανάληψη στη συλλογή. - Μέθοδος
MoveNext()— μετακινεί τον δείκτη στο επόμενο στοιχείο. - Ιδιότητα
Current— επιστρέφει το τρέχον στοιχείο της συλλογής.
Παράδειγμα του τι συμβαίνει στο παρασκήνιο:
IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
var item = enumerator.Current;
// σώμα της επανάληψης foreach
}
Έτσι, το foreach απλοποιεί τη δουλειά με τους επαναμετρητές, κρύβοντας τις λεπτομέρειες της κλήσης σε GetEnumerator(), MoveNext() και πρόσβαση σε Current.