C#简单用法
示例
所述yield关键字被用于定义返回一个函数IEnumerable或IEnumerator其值作为主叫遍历返回的集合被懒惰地生成(以及它们的衍生通用的变体)。在备注部分中阅读有关目的的更多信息。
以下示例在for循环内包含yieldreturn语句。
public static IEnumerable<int> Count(int start, int count) { for (int i = 0; i <= count; i++) { yield return start + i; } }
然后可以调用它:
foreach (int value in Count(start: 4, count: 10)) { Console.WriteLine(value); }
控制台输出
4 5 6 ... 14
.NETFiddle上的实时演示
foreach语句主体的每次迭代都会创建对Count迭代器函数的调用。每次对迭代器函数的调用都会继续执行该yieldreturn语句,该执行在for循环的下一次迭代期间进行。