zoukankan      html  css  js  c++  java
  • 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;即每次都返回一个数据。
  • 相关阅读:
    7月6日实习日志
    7月5日实习日志
    7月4日实习日志
    emacs设置tab缩进
    {{badmatch, {error, eexist}}
    windows下使用emacs+plink远程编辑erlang文件
    cowboy跨域请求处理
    erlang的base64解码问题
    Erlang-VM节点启动名冲突问题
    laya在微信小游戏中加载BitmapFont失效的问题
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/2215151.html
Copyright © 2011-2022 走看看