C#的yield return
是否在IEnumerables
之外使用?例如,是否可以在不使用多个线程的情况下将其用于实现协程?
答案 0 :(得分:1)
您的问题
C#的收益率收益是否在IEnumerables之外使用
答案是否定的,您可以在yield
文档中查看
在语句中使用yield上下文关键字时,表示 出现在其中的方法,运算符或获取访问器是 迭代器。使用yield定义迭代器可消除对 显式的额外类(包含状态的类 枚举,请参见IEnumerator的示例) 自定义集合类型的IEnumerable和IEnumerator模式。
迭代器方法和获取访问器
迭代器的声明必须满足以下要求:
>>>返回类型必须为IEnumerable,IEnumerable,IEnumerator或IEnumerator <<<< /