Intern — Middle
Можете ли објаснити механизам рада интерфејса IEnumerable и његову примену?
sobes.tech АИ
Одговор од АИ
Интерфейс IEnumerable в C# представляет коллекцию, элементы которой можно перебрать по одному с помощью итератора. Он определяет метод GetEnumerator(), который возвращает объект IEnumerator для последовательного обхода элементов.
Основное применение IEnumerable — возможность использовать цикл foreach для перебора элементов коллекции без необходимости знать внутреннюю структуру коллекции.
Пример использования IEnumerable:
IEnumerable<int> numbers = new List<int> {1, 2, 3, 4};
foreach (int number in numbers)
{
Console.WriteLine(number);
}
Также можно реализовать собственный класс с IEnumerable, чтобы сделать его перебираемым:
class MyCollection : IEnumerable<int>
{
private int[] data = {1, 2, 3};
public IEnumerator<int> GetEnumerator()
{
foreach (var item in data)
yield return item;
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
Таким образом, IEnumerable обеспечивает абстракцию перебора элементов, упрощая работу с коллекциями.