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 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);
}