Sobes.tech
Назад к вопросам
Middle+
5

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

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

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

sobes.tech AI

Чтобы сделать класс итерируемым в 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.