using System;
using System.Collections;
class List
...{
string []list=new string[5]...{"Mon","Tue","Wed","Thu","Fri"};
public IEnumerator GetEnumerator()
...{
for(int i=0;i<5;i++)
...{
yield return list[i];
}
}
}
class Client
...{
static void Main()
...{
List list=new List();
foreach(string day in list)
...{
Console.Write(day+" ");
}
}
}
foreach默认调用list.GetEnumerator().

...{
IEnumerator enumerator MessageSet.GetEnumerator();
string nextMessage;
enumerator.MoveNext;
while((nextMessage=enumerator.Current)!=null)
...{
DoSomething(nextMessage);
enumerator.MOveNext();
}
}
understand "yield" key word.
class Client
...{
static void Main()
...{
/**//*List list=new List();
foreach(string day in list)
{
Console.Write(day+" ");
}*/
a aa=new a();

foreach(string str in aa)
...{
Console.Write(str+" ");
}
}
}
class a
...{
public IEnumerator GetEnumerator()
...{
yield return "Just";
yield return "for";
yield return "you";
yield return "!";
}
}
本文详细介绍了C#中yield关键字的使用方法,并通过具体实例展示了如何利用yield返回枚举器,实现集合的迭代操作。

被折叠的 条评论
为什么被折叠?



