yield关键字的作用是将当前集合中的元素立即返回,实例:
通过断点可以看到,控制台每显示一个集合中的元素,都会到query方法中去取集合元素。
其实yield return是“语法糖”,其本质是生成了一个query的类,这个类实现了IEnumerable和IEnumerator的泛型、非泛型接口,所以它能迭代(循环遍历)。
1.返回值必须为IEnumerable、IEnumerable<T>、IEnumerator、IEnumerator<T>
2.匿名方法不能使用yield,方法参数不能使用ref、in或out
yield break用法:终止获取集合元素