C#中的迭代器
迭代器对集合执行自定义迭代。它使用yieldreturn语句并一次返回每个元素。迭代器记住当前位置,并在下一次迭代中返回下一个元素。
以下是一个例子-
示例
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 IEnumerabledisplay() { int[] arr = new int[] {99,45,76}; foreach (var val in arr) { yield return val.ToString(); } }
结果被存储,每个元素被迭代和打印-
IEnumerableele = display(); foreach (var element in ele) { Console.WriteLine(element); }