Junior — Middle
Jakie metody implementują interfejs IEnumerable w języku programowania?
sobes.tech AI
Odpowiedź od AI
W języku C# interfejs IEnumerable jest implementowany przez klasy i struktury, które zapewniają metodę GetEnumerator(), zwracającą obiekt implementujący interfejs IEnumerator. Umożliwia to iterację po kolekcji za pomocą pętli foreach.
Główne sposoby implementacji IEnumerable:
- Implementacja ręczna:
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];
}
}
- Implementacja generycznego interfejsu
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();
}
- Użycie kolekcji z biblioteki standardowej, które już implementują
IEnumerable(np.List<T>,Array).
Kluczowym punktem jest zapewnienie metody GetEnumerator(), która zwraca enumerator do przechodzenia po elementach kolekcji.