先看一个很简单的例子:
using System;
using System.Collections.Generic;
namespace ConsoleApplication4
{
class Program
{
//一个返回类型为IEnumerable<int>,其中包含三个yield return
public static IEnumerable<int> enumerableFunc()
{
yield return 1;
yield return 2;
yield break;//用来终止迭代
yield return 3;
}
static void Main(string[] args)
{
//通过foreach循环迭代此函数
foreach (int item in enumerableFunc())
{
Console.WriteLine(item);
}
Console.ReadKey();
}
}
}
最终输出1 2
.class auto ansi sealed nested private beforefieldinit '<enumerableFunc>d__0'
extends [mscorlib]System.Object
implements class [mscorlib]System.Collections.Generic.IEnu