Junior — Middle
Ce metode implementează interfața IEnumerable în limbajul de programare?
sobes.tech AI
Răspuns de la AI
În limbajul C#, interfața IEnumerable este implementată de clase și structuri care furnizează metoda GetEnumerator(), care returnează un obiect ce implementează interfața IEnumerator. Acest lucru permite parcurgerea colecției cu ajutorul buclei foreach.
Principalele moduri de implementare a IEnumerable:
- Implementare manuală:
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];
}
}
- Implementarea interfeței generice
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();
}
- Utilizarea colecțiilor din biblioteca standard care deja implementează
IEnumerable(de exemplu,List<T>,Array).
Prin urmare, punctul cheie este să oferiți metoda GetEnumerator(), care returnează un enumerator pentru traversarea elementelor colecției.