收益率和回报率

VVS*_*VVS 8 c# yield yield-return

我经常发现自己写作...... 像这样:

if (condition)
{
  yield return whatever;
  yield break;
}
Run Code Online (Sandbox Code Playgroud)

我发现必须为标准范例"返回一个值和退出方法"使用两个yield语句非常冗长.我知道我可以,return new List<type>() { whatever };但这会破坏在方法的其余部分使用yield的好处.

是否有更优雅的方法来获取yield return值并退出方法?

Cha*_*ion 4

这可能是您唯一的其他选择。

if (condition) 
{
    yield return 1;
}
else
{
    yield return 2;
    yield return 3;
}
Run Code Online (Sandbox Code Playgroud)