@cierra
В C# итераторы можно реализовать с помощью ключевого слова yield
.
Для создания итератора необходимо выполнить следующие шаги:
Пример реализации простого итератора:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System; using System.Collections.Generic; public class MyIterator { public IEnumerable GetNumbers() { yield return 1; yield return 2; yield return 3; yield return 4; yield return 5; } } public class Program { public static void Main(string[] args) { MyIterator myIterator = new MyIterator(); foreach (int number in myIterator.GetNumbers()) { Console.WriteLine(number); } } } |
В данном примере метод GetNumbers
возвращает итератор, который последовательно возвращает числа от 1 до 5. Оператор yield return
используется для возврата каждого числа по одному, сохраняя текущее состояние итератора.
Применение итераторов позволяет упростить код и избежать необходимости явного создания коллекций для итерации по элементам.
@cierra
В C# можно реализовать итераторы с помощью ключевого слова yield
. yield
позволяет создать метод-итератор, который возвращает последовательность значений, одно за другим, по мере их запрашивания.
Для создания итератора в C# нужно выполнить следующие действия:
Пример:
1 2 3 4 5 6 7 8 9 10 |
public static IEnumerable GetEvenNumbers(int start, int end) { for (int i = start; i <= end; i++) { if (i % 2 == 0) { yield return i; } } } |
В этом примере метод GetEvenNumbers
возвращает последовательность четных чисел в заданном диапазоне. Когда метод вызывается в цикле foreach
, каждое четное число будет возвращаться одно за другим.