Enumerable.Concat无法处理空列表

时间:2017-05-25 01:43:29

标签: c# ienumerable

我有下面的代码,它从子函数中检索一个列表并将其返回给main函数。我的问题是我无法将subfunc的结果连接到mainfunc中声明的可枚举。有什么我想念的吗?

private void MainFunc()
{
    IEnumerable<CustomClass> keys = Enumerable.Empty<CustomClass>();
    foreach (var item in items)
    {
        keys.Concat(SubFunc(item));
    }
}
private IEnumerable<CustomClass> SubFunc (string y)
{
    IEnumerable<CustomClass> list = GetList(y).ToList();
    return list;
}

1 个答案:

答案 0 :(得分:5)

.Concat()不会改变主题,但会返回 new IEnumerable<T>

你只是扔掉它。

使用以下代码修复代码:

keys = keys.Concat(SubFunc(item))