什么是产量,在asp .NET中使用yield有什么好处?

Vij*_*dra 19 c# asp.net yield

你能帮我理解一下yield关键词吗asp .NET(C#)

kem*_*002 15

收益率返回会自动为您创建一个枚举器.

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

所以你可以做点什么

//pseudo code:

while(get_next_record_from_database)
{
  yield return your_next_record;
}
Run Code Online (Sandbox Code Playgroud)

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

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

何时使用Yield Return.


Joh*_*ell 5

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

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