Junior — Middle
Koje metode implementiraju interfejs IEnumerable u programskom jeziku?
sobes.tech АИ
Одговор од АИ
U jeziku C# interfejs IEnumerable implementiraju klase i strukture koje obezbeđuju metodu GetEnumerator(), koja vraća objekat koji implementira interfejs IEnumerator. Ovo omogućava iteraciju kroz kolekciju pomoću petlje foreach.
Glavni načini implementacije IEnumerable:
- Ručno implementiranje:
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];
}
}
- Implementacija generičkog interfejsa
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();
}
- Korišćenje kolekcija iz standardne biblioteke koje već implementiraju
IEnumerable(npr.List<T>,Array).
Ključna tačka je obezbeđivanje metode GetEnumerator(), koja vraća enumerator za prolazak kroz elemente kolekcije.