IEnumerator##
解释:它是一个的集合访问器,使用foreach语句遍历集合或数组时,就是调用 Current、MoveNext()的结果。
例子:
class Program
{
static void Main(string[] args)
{
foreach (int i in Feige.Fei())
{
Console.WriteLine("返回的结果是:" + i );
}
}
class Feige
{
public static IEnumerable<int> Fei()
{
for (int i = 0; i < 10; i++)
{
yield return i;
Thread.Sleep(1000);
}
}
}
}
IEnumerable
解释:它利用 GetEnumerator() 返回 IEnumerator 集合访问器。
例子:
class Program
{
static void Main(string[] args)
{
IEnumerator i = Feige.Fei();
while (i.MoveNext())
{
Console.WriteLine(i.Current);
Thread.Sleep(500);
}
Console.ReadLine();
}
class Feige
{
public static IEnumerator<int> Fei()
{
for (int i = 0; i < 10; i++)
{
yield return i;
}
}
}
}
节选原文一部分:原文链接