c#中的yield词法

yield关键字的作用是将当前集合中的元素立即返回,实例:

通过断点可以看到,控制台每显示一个集合中的元素,都会到query方法中去取集合元素。

其实yield return是“语法糖”,其本质是生成了一个query的类,这个类实现了IEnumerable和IEnumerator的泛型、非泛型接口,所以它能迭代(循环遍历)。

1.返回值必须为IEnumerable、IEnumerable<T>、IEnumerator、IEnumerator<T>

2.匿名方法不能使用yield,方法参数不能使用ref、in或out

yield break用法:终止获取集合元素

原文地址:https://www.cnblogs.com/1016391912pm/p/11978698.html