何时使用Yield?

什么时候应该使用退货率,何时只能使用退货?


yield结构用于创建一个可以连续生成多个值的迭代器:

IEnumerable<int> three_numbers() {
    yield return 1;
    yield return 2;
    yield return 3;
}
...
foreach (var i in three_numbers()) {
    // i becomes 1, 2 and 3, in turn.
}

当你返回一个可枚举的时候使用yield,并且你没有那个时候的所有结果。

实际上,当我想要遍历大块信息(数据库,平面文件等)时,我已经使用了yield,并且我不想首先在内存中加载所有内容。 良率是遍历块的好方法,不需要一次加载所有内容。


产量是针对迭代器的。

它可以让你处理一个小燕子的列表,这对于大名单是很好的。

关于Yield的神奇之处在于它记住了您在调用之间的位置。

如果你没有迭代你就不需要Yield。

链接地址: http://www.djcxy.com/p/9111.html

上一篇: When to use Yield?

下一篇: Some help understanding "yield"