zoukankan      html  css  js  c++  java
  • 使用yield返回IEnumber<T>集合

    yield是对一种复杂行为的简化,就是将一段代码简化为一种简单的形式。

    先看一下常规的写法,下面例子中,把找出字符串阵列中,某些元素包含有某些字符的元素。

     class Bi
        {
            public string[] str { get; set; }
    
            public IEnumerable<string> GetIncludeCharacterOfArray(string includeCharacter)
            {
                List<string> lst = new List<string>();
                for (int i = 0; i < str.Length; i++)
                {
                    if (str[i].Contains(includeCharacter))
                    {
                        lst.Add(str[i]);
                    }
                }
                return lst;
            }
        }
    Source Code

    运行结果:

    下面,我们使用yield来简化一下上面的方法:

     public IEnumerable<string> GetIncludeCharacterOfArrayWithYield(string includeCharacter)
            {
                for (int i = 0; i < str.Length; i++)
                {
                    if (str[i].Contains(includeCharacter))
                        yield
                        return str[i];
                }
            }
    Source Code

    再次运行:

  • 相关阅读:
    【BZOJ 5000 OI树】
    九、表锁
    八、ORDER BY优化
    七、索引优化分析
    六、JVM之垃圾回收
    五、JVM之堆内存
    四、JVM之栈与栈帧
    三、JVM之方法区
    二、JVM之体系结构
    一、JVM之类加载器
  • 原文地址:https://www.cnblogs.com/insus/p/8125351.html
Copyright © 2011-2022 走看看