什么是产量以及在asp .NET中使用yield的好处是什么?

你能帮我理解asp .NET(C#)yield关键字吗?

Yield return会自动为您创建一个枚举器。

http://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx

所以你可以做点什么

 //pseudo code: while(get_next_record_from_database) { yield return your_next_record; } 

它允许您快速创建可以循环并检索记录的对象集合(枚举器)。 yield return语句处理为您创建枚举器所需的所有代码。

yield return语句的重要部分是,在将集合返回给调用方法之前,不必加载集合中的所有项。 它允许延迟加载集合,因此您不会一次性支付访问权限。

何时使用Yield Return 。

产量远远超过合成糖或创建IEnumerables的简单方法。

有关更多信息,请查看Justin Etherage的博客,其中有一篇很棒的文章解释了更高级的收益率用法 。

yield用作语法糖,从方法返回IEnumerableIEnumerator对象,而不必实现自己的实现这些接口的类。

我写了一个简单的示例,展示了如何在集合的访问周期中调用yield块。 看看这里 。

yield允许你发出一个IEnumerable,你通常会返回一个更具体的类型(比如IList)。

这是一个很好的例子,说明它如何简化代码并澄清你的意图 。 至于你在哪里使用它,你需要迭代一个集合的页面上的任何地方,你可能会使用一个返回IEnumerable的方法来代替List / Dictionary / etc.