Sobes.tech
Intern — Middle
68

Можете объяснить механизм работы интерфейса IEnumerable и его применение?

Компании, где спрашивали
Sector Tree

Ответ от нейросети

sobes.tech AI

Интерфейс 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 обеспечивает абстракцию перебора элементов, упрощая работу с коллекциями.