相关疑难解决方法(0)

为什么不能在同一方法中使用"返回"和"收益率"?

为什么我们不能在同一方法中同时使用return和yield return?

例如,我们可以在下面使用GetIntegers1和GetIntegers2,但不能使用GetIntegers3.

public IEnumerable<int> GetIntegers1()
{
  return new[] { 4, 5, 6 };
}

public IEnumerable<int> GetIntegers2()
{
  yield return 1;
  yield return 2;
  yield return 3;
}

public IEnumerable<int> GetIntegers3()
{
  if ( someCondition )
  {
    return new[] {4, 5, 6}; // compiler error
  }
  else
  {
    yield return 1;
    yield return 2;
    yield return 3;
  }
}
Run Code Online (Sandbox Code Playgroud)

c# ienumerable return yield-return

21
推荐指数
3
解决办法
5189
查看次数

标签 统计

c# ×1

ienumerable ×1

return ×1

yield-return ×1