Junior — Middle
Какви методи реализират интерфейса IEnumerable в езика за програмиране?
sobes.tech AI
Отговор от AI
В езика за програмиране C# интерфейсът IEnumerable се реализира от класове и структури, които предоставят метода GetEnumerator(), връщащ обект, реализиращ интерфейса IEnumerator. Това позволява обхождане на колекцията с помощта на цикъл foreach.
Основните начини за реализиране на IEnumerable:
- Ръчна реализация:
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];
}
}
- Реализация на обобщения интерфейс
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();
}
- Използване на колекции от стандартната библиотека, които вече реализират
IEnumerable(например,List<T>,Array).
Ключовият момент е да се предостави методът GetEnumerator(), който връща итератор за обхождане на елементите на колекцията.