Как сделать класс итерируемым?

Чтобы сделать класс итерируемым в C#, нужно реализовать интерфейс IEnumerable или IEnumerableT. Обычно достаточно реализовать метод GetEnumerator(), который возвращает объект IEnumerator.

Короткий ответ

Что ответить на собеседовании

Чтобы сделать класс итерируемым в C#, нужно реализовать интерфейс IEnumerable или IEnumerable<T>. Обычно достаточно реализовать метод GetEnumerator(), который возвращает объект IEnumerator.

Подробный разбор

Ответ с пояснениями

Чтобы сделать класс итерируемым в C#, нужно реализовать интерфейс IEnumerable или IEnumerable<T>. Обычно достаточно реализовать метод GetEnumerator(), который возвращает объект IEnumerator.

Пример реализации класса с итератором:

using System.Collections;
using System.Collections.Generic;

public class MyCollection : IEnumerable<int>
{
    private int[] numbers = {1, 2, 3, 4, 5};

    public IEnumerator<int> GetEnumerator()
    {
        foreach (var num in numbers)
        {
            yield return num;
        }
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}

Теперь можно использовать foreach для объекта MyCollection.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку