C# 中的"yield"使用

yield是C#为了简化遍历操作实现的语法糖,我们知道如果要要某个类型支持遍历就必须要实现系统接口IEnumerable,这个接口后续实现比较繁琐要写一大堆代码才能支持真正的遍历功能。

using static System.Console;
using System.Collections.Generic;

class Program
{
    //一个返回类型为IEnumerable<int>,其中包含三个yield return
    public static IEnumerable<int> enumerableFuc()
    {
        yield return 1;
        yield return 2;
        yield return 3;
    }

    static void Main(string[] args)
    {
        //通过foreach循环迭代此函数
        foreach(int item in enumerableFuc())
        {
            WriteLine(item);
        }
        ReadKey();
    }
}

输出结果:
1
2
3

  

c# yield关键字原理详解

posted @ 2020-03-20 16:27  LBO.net  阅读(179)  评论(0编辑  收藏  举报
//返回顶部