【发布时间】:2017-07-03 09:01:41
【问题描述】:
为什么会有这段代码:
public IEnumerator Test()
{
}
给你一个错误:
错误 CS0161 'Test.GetEnumerator()':并非所有代码路径都返回值
但是这段代码:
public IEnumerator Test()
{
if(false)
yield return 0;
}
不是吗? (并且按预期工作;第一个 MoveNext() 返回 false)
当使用 IEnumerators 作为协程时,有时你想创建一个协程 (IEnumerator),它还没有异步操作(不产生任何东西),但将来可能会这样做。
【问题讨论】:
-
你也可以使用
yield break;来代替一个假的if语句。
标签: c# yield ienumerator