• C# yield


    yield有两种使用形式:yield return;和yield break; 他们通常配合枚举器对象IEnumerable(支持非泛型集合上进行简单迭代)使用。

    yield return:即取到一个数据后马上返回该数据,不需要全部数据装入数列完毕,这样有效提高了遍历效率。普通的return只返回一个数据,yield return 可在循环中返回符合条件的多个数据。

    yield break:在循环中,配合yield return使用。当条件不符合时,停止循环,返回符合条件的列表。

    private int[] array=new int[10];    
    public IEnumerable GetEnumerator()
    {
        for(int i=0;i<10;i++)
        {
            if(i<8)
                yield return array[i];
            else
                yield break;
        }                     
    }
    //调用GetEnumerator方法后,array中内容:0,1,2,3,4,5,6,7;即碰到yield break之后中断循环;

    举例如下:

    private int[] array=new int[10];

    public IEnumerable GetEnumerator()
    {
        for(int i=0;i<10;i++)
        {
            yield return array[i];
        }
    }

    //调用GetEnumerator方法后,array中内容:0,1,2,3,4,5,6,7,8,9;即每次都返回一个数据。
  • 相关阅读:
    判断无向图G是否连通
    图的深度优先搜索与广度优先搜索
    整数变换问题
    按层次遍历二叉树
    交叉链表
    二元查找树转换成一个排序的双向链表
    简单计算器的实现
    二叉树宽度的计算
    BMP文件的读取与显示
    约瑟夫环问题
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/2215151.html
Copyright © 2020-2023  润新知