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

本文关键字:未知数 连接 列表 LINQ 方法 是否 | 更新日期: 2023-09-27 18:31:49

我有一个对象,其中包含一个子对象列表,每个子对象又包含一个子对象列表,依此类推。仅使用第一代孩子,我想尽可能干净,廉价地合并所有这些列表。我知道我可以做这样的事情

    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的新手,我强烈建议你对如何使用它进行视觉解释。目前在谷歌结果中排名靠前,但值得直接跳过。

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

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