C# yield简单迭代

在咱们使用foreach的时候其实每个集合都是实现是IEnumerable接口的 , 若是没有实现你循环确定是行不通的, 那么假如没有实现咱们本身怎么实现呢,这个是yield是最好的帮助:express

public static  IEnumerable<int> Power(int number, int exponent)
        {
            yield return 3;
            yield return 5;
            yield return 8;
             
        }
static void Main(string[] args)
        {
            var result = Power(2, 8);
            foreach (int i in result)
            {
                Console.Write("{0} ", i);
            }
            Console.ReadKey();
        }

结构确定是 3 5 8函数

注意: yield的返回类型必定要是IEnumerable, 经过 foreach 语句或 LINQ 查询来使用迭代器方法。 foreach 循环的每次迭代都会调用迭代器方法。 迭代器方法运行到 yield return 语句时,会返回一个 expression,并保留当前在代码中的位置。 当下次调用迭代器函数时执行从该位置从新启动。 能够使用 yield break 语句来终止迭代。 他的好处就是不须要咱们在手动去实现迭代, 简便代码, 如此而已,固然现实中须要实现的状况并非不少code

相关文章
相关标签/搜索