Yield关键字的确切用法是什么?

这个问题在这里已经有了答案:

  • 在C#中使用的yield关键字是什么? 16个答案

  • 直接从MSDN

    您使用yield return语句一次返回一个元素。当在迭代器方法中达到yield return语句时,将返回expression,并保留代码中的当前位置。 下一次调用迭代器函数时,将从该位置重新启动执行。

    编辑:要获取详细信息,请参阅此系列文章。


    使用yield return来包装已经是IEnumerable的东西是很浪费的。

    yield return可用于将不包含IEnumerable的东西包装到IEnumerable中。

    如此:

    public IEnumerable<string> GetNames()
    {
        yield return "Cow";
        yield return "Goat";
        yield return "Lion";
        yield return "Deer";
    }
    

    或者真正有意义的东西,比如树遍历。


    例:

     public IEnumerable<MyClass> GetList()
     {
         foreach (var item in SomeList)
         {
              yield return new MyClass();
         }
     }
    
    链接地址: http://www.djcxy.com/p/9091.html

    上一篇: What is the exact usage of Yield Keyword

    下一篇: Trouble understanding yield in C#