Where it is preferred to use yield return in c#?
本问题已经有最佳答案,请猛点这里访问。
我知道收益率是多少,但我不明白为什么要用它,只是因为它为我保存了一行列表声明吗?
这一定是更重要的。
它是什么?在哪里最好使用它?
*我问到在哪里和为什么使用它,它的优点是什么,而不是它是什么。
is it just because it saves me a row of a list declaration?
不,当您使用
如果您向列表中添加项目,然后将其返回,那么您必须先创建所有项目,然后消费者才能使用其中的任何项目。
例如,假设使用者调用您的方法并使用for循环来使用它,如下所示:
1 2 3 4 | foreach(var item in GetMyLovelyItems()) { ... } |
如果
另一方面,如果使用
它还可能与生成收益的代码的延迟/延迟执行相结合。
对于那些复杂的情况,您不能使用数组、列表或
最常见的使用模式是在某种循环中发出不能用
许多
延期执行不需要
在任何情况下,您都可以编写自己的