Junior — Middle
Jaké metody implementují rozhraní IEnumerable v programovacím jazyce?
sobes.tech AI
Odpověď od AI
V jazyce C# je rozhraní IEnumerable implementováno třídami a strukturami, které poskytují metodu GetEnumerator(), jež vrací objekt implementující rozhraní IEnumerator. To umožňuje procházet kolekci pomocí smyčky foreach.
Hlavní způsoby implementace IEnumerable:
- Ruční implementace:
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];
}
}
- Implementace generického rozhraní
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žití kolekcí z knihovny, které již
IEnumerableimplementují (napříkladList<T>,Array).
Klíčovým bodem je poskytnout metodu GetEnumerator(), která vrací enumerátor pro průchod prvky kolekce.