当前位置: 首页 > 编程语言 > C#

返回列表时yield的并发或性能优势分享

时间:2023-04-10 21:23:56 C#

返回列表。请参见以下示例ProcessmethodvoidPage_Load(){foreach(variteminGetPostedItems())Process(item);}使用yieldreturnIEnumerableGetPostedItems(){yieldreturnItem1.Text;yieldreturnItem2.Text;yieldreturnItem3.Text;}返回一个列表IEnumerableGetPostedItems(){varlist=newList();list.Add(Item1.Text);list.Add(Item2.Text);list.Add(Item3.Text);返回列表;在yieldreturn示例中,每次调用IEnumerable.MoveNext时都会计算结果,而在列表示例中,所有结果都会在返回IEnumerable之前进行评估(请注意,Text属性可能无法连接)。因此,对于收益回报,您应该在第一次调用枚举器时获得小的性能提升,然后在评估属性时对IEnumerable.MoveNext的每次后续调用都可能会遭受性能损失。yield回报是您可以返回无限序列、随机序列和各种其他新颖的枚举,这些枚举要么效率极低,要么不适用于首先创建列表的模型。简单地说,返回List的实例需要在返回IEnumerable之前评估列表中的所有元素,而使用yieldreturn允许每个元素按照IEnumerable的使用者的请求进行评估。以上就是《C#学习教程:BenefitsofYieldBenefitsWhenConcurrencyorPerformanceReturnAList》的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: