理解C#'S yield
关键字:简化迭代器创建
> C#中的关键字大大简化了迭代器的创建。 迭代器提供了一系列值,而无需立即存储整个序列。这种“懒惰评估”提高了效率,尤其是在处理大型数据集时。
yield
接口的对象(其中yield
是序列中的元素类型)。 当呼叫者使用IEnumerable<T>
循环进行迭代时,迭代方法执行,暂停和恢复每次迭代,这要T
。foreach
。
yield
>这消除了通常与迭代器实现相关的手动簿记,从而导致更清洁,更可维护的代码。
返回
<code class="language-csharp">public IEnumerable<object> FilteredList() { foreach(object item in FullList) { if(IsItemInPartialList(item)) yield return item; } }</code>的过滤子集。 找到每个匹配项后,
语句暂停执行,将该项目返回给呼叫者。 请求下一个项目时恢复迭代器。FilteredList
>
在各种情况下,FullList
>yield return
是无价的:从查询中生成序列,懒惰的文件或数据库中的数据,以及为唯一的数据结构创建自定义迭代器。它在C#2.0中的引入极大地提高了迭代器开发的便捷性和效率。
以上是'屈服”关键字如何简化C#中的迭代器的创建?的详细内容。更多信息请关注PHP中文网其他相关文章!