是否有LINQ方法来加入/连接未知数量的列表?

时间:2012-04-21 16:41:06

标签: c# linq list .net-4.0

我有一个包含子对象列表的对象,每个子对象都包含一个子列表,依此类推。仅使用第一代儿童,我希望尽可能干净,廉价地将所有这些列表组合在一起。我知道我可以做点什么

    public List<T> UnifiedListOfTChildren<T>() 
    {
        List<T> newlist = new List<T>();
        foreach (childThing in myChildren)
        {
            newlist = newlist.Concat<T>(childThing.TChildren);
        }
        return newlist;
    }

但是我缺少一种更优雅,更便宜的LINQ方法吗?

编辑如果您按照我的方式登陆此问题并且是SelectMany的新手,我强烈建议您this visual explanation如何使用它。目前谷歌搜索结果靠近顶部,但值得直接跳到。

1 个答案:

答案 0 :(得分:3)

var newList = myChildren.SelectMany(c => c.TChildren);