Junior — Middle
Aké metódy implementujú rozhranie IEnumerable v programovacom jazyku?
sobes.tech AI
Odpoveď od AI
V jazyku C# je rozhranie IEnumerable implementované triedami a štruktúrami, ktoré poskytujú metódu GetEnumerator(), ktorá vracia objekt implementujúci rozhranie IEnumerator. To umožňuje prechádzať kolekciu pomocou slučky foreach.
Hlavné spôsoby implementácie IEnumerable:
- Ručná implementácia:
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];
}
}
- Implementácia generického rozhrania
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();
}
- Použitie kolekcií z knižnice štandardu, ktoré už implementujú
IEnumerable(napríkladList<T>,Array).
Kľúčovým bodom je poskytnúť metódu GetEnumerator(), ktorá vracia enumerátor na prechádzanie prvkami kolekcie.