yield用在foreach循环中,表示循环到下一次时返回的数据,主要作用是简化了foreach循环(其实用IEnumerable<>时没简化多少),与return结合使用,如:
![](https://i-blog.csdnimg.cn/blog_migrate/38fc5784e96aa5a956aac624babc1b9c.png)
除此之外还有yield break, 其表示跳出迭代,如:
public IEnumerator GetEnumerator()
{
for (int i = 0; i < 10; i++)
{
if (i < 8)
{
yield return array[i];
}
else
{
yield break;
}
}
}
参考:
http://www.cnblogs.com/kingcat/archive/2012/07/11/2585943.html
https://msdn.microsoft.com/zh-cn/library/9k7k7cf0(v=vs.100).aspx