迭代器方法对集合执行自定义迭代。它使用yield return语句并一次返回每个元素。迭代器记住当前位置,并在下一次迭代中返回下一个元素。
以下是一个例子-
using System; using System.Collections.Generic; using System.Linq; namespace Demo { class Program { public static IEnumerable display() { int[] arr = new int[] {99,45,76}; foreach (var val in arr) { yield return val.ToString(); } } public static void Main(string[] args) { IEnumerable ele = display(); foreach (var element in ele) { Console.WriteLine(element); } } } }
输出结果
99 45 76
上面,我们有一个迭代器方法display()
,该方法使用yield语句一次返回一个元素-
public static IEnumerable display() { int[] arr = new int[] {99,45,76}; foreach (var val in arr) { yield return val.ToString(); } }
存储结果,并迭代和打印每个元素-
IEnumerable ele = display(); foreach (var element in ele) { Console.WriteLine(element); }