首页 > 解决方案 > yield return 除了 IEnumerable 之外还有其他用途吗?

问题描述

C#yield return有什么用处IEnumerables吗?例如,是否可以在不使用多线程的情况下实现协程?

标签: c#iteratorienumerableyield-return

解决方案


你的问题

C# 的 yield return 在 IEnumerables 之外是否有用

答案是否定的,您可以通过yield文档看到这一点

产量(C# 参考)

在语句中使用 yield 上下文关键字时,表明它出现的方法、运算符或 get 访问器是迭代器。当您为自定义集合类型实现 IEnumerable 和 IEnumerator 模式时,使用 yield 定义迭代器无需显式的额外类(保存枚举状态的类,请参见 IEnumerator 示例)。

迭代器方法和获取访问器

迭代器的声明必须满足以下要求:

>>>返回类型必须是 IEnumerable、IEnumerable、IEnumerator 或 IEnumerator <<<


推荐阅读