相关疑难解决方法(0)

嵌套的yield返回IEnumerable

我有以下功能来获取卡的验证错误.我的问题涉及处理GetErrors.两种方法都具有相同的返回类型IEnumerable<ErrorInfo>.

private static IEnumerable<ErrorInfo> GetErrors(Card card)
{
    var errors = GetMoreErrors(card);
    foreach (var e in errors)
        yield return e;

    // further yield returns for more validation errors
}
Run Code Online (Sandbox Code Playgroud)

是否可以返回所有错误GetMoreErrors而无需通过它们进行枚举?

想一想这可能是一个愚蠢的问题,但我想确保我不会出错.

c# ienumerable yield yield-return

158
推荐指数
5
解决办法
3万
查看次数

收益率很高?

我发现自己经常讨论IEnumerables,以便我可以返回每个结果.有没有办法压缩这样的东西

foreach (var subSelector in subSelectors)
{
    foreach (var node in FindSingle(context, subSelector))
        yield return node;
} 
Run Code Online (Sandbox Code Playgroud)

去除内在的foreach?

c#

53
推荐指数
4
解决办法
2万
查看次数

标签 统计

c# ×2

ienumerable ×1

yield ×1

yield-return ×1