Junior — Middle
Ποιοι τρόποι υλοποιούν το interface IEnumerable στη γλώσσα προγραμματισμού;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα προγραμματισμού C#, η διεπαφή IEnumerable υλοποιείται από κλάσεις και δομές που παρέχουν τη μέθοδο GetEnumerator(), η οποία επιστρέφει ένα αντικείμενο που υλοποιεί τη διεπαφή IEnumerator. Αυτό επιτρέπει την επανάληψη στη συλλογή με τη χρήση του βρόχου foreach.
Οι κύριοι τρόποι υλοποίησης του IEnumerable:
- Χειροκίνητη υλοποίηση:
public class MyCollection : IEnumerable
{
private object[] items = {1, 2, 3};
public IEnumerator GetEnumerator()
{
for (int i = 0; i < items.Length; i++)
yield return items[i];
}
}
- Υλοποίηση της γενικής διεπαφής
IEnumerable<T>:
public class MyCollection<T> : IEnumerable<T>
{
private T[] items;
public MyCollection(T[] items) { this.items = items; }
public IEnumerator<T> GetEnumerator()
{
for (int i = 0; i < items.Length; i++)
yield return items[i];
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
- Χρήση συλλογών από τη βιβλιοθήκη standard που ήδη υλοποιούν το
IEnumerable(π.χ.,List<T>,Array).
Ο βασικός σημειωτής είναι η παροχή της μεθόδου GetEnumerator(), η οποία επιστρέφει έναν enumerator για την περιήγηση στα στοιχεία της συλλογής.