none
C#. Как сделать рекурсивный итератор? RRS feed

  • Вопрос

  • Мне понадобилось сделать итератор, который получает элементы рекурсивно.
    Почитав вот тут:
    http://msdn.microsoft.com/ru-ru/library/bb513869.aspx
    вычитал возможность сделать через стек, то что можно сделать через рекурсию.
    Сделал через стек, так как на итератор (а точнее на yield return) через рекурсию что-то заругался компилятор.

    Получилось длинновато, но работает.
    Можно ли как-то всё-таки через рекурсию сделать, чтобы возвращались элементы в итераторе?

    Вычитал тут
    http://www.rsdn.ru/article/csharp/newincsharp.xml
    (текст оттуда: "Из обнаруженных мной проблем можно выделить то, что мне не удалось создать
    итератор, производящий рекурсивный вызов.")
    что проблема старая, но уже много лет прошло,
    может сделали что-то, да я не уследил.

    5 июня 2012 г. 12:10

Ответы

Все ответы