我有一个包含子对象列表的对象,每个子对象又包含一个子对象列表,依此类推。仅使用第一代孩子,我想尽可能干净和便宜地组合所有这些列表。我知道我可以做类似的事情
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 的新手,我强烈推荐这个关于如何使用它的可视化解释。目前在谷歌搜索结果中排名靠前,但值得直接跳过。