c# -将所有列表的列表连接在一起

本文关键字:列表 在一起 连接 | 更新日期: 2023-09-27 18:17:40

我有一个c#应用程序。在这个c#应用程序中,我有一个对象,我将其命名为order。在order里面有一个叫做Departments的性质。Departments内部是一个称为Items的属性。我想把所有的Items横跨所有的Departments放到一个List中。有没有比这更优雅的解决方案:

var items = new List<Item>();
foreach (var department in order.Departments)
{
    foreach (var item in department.Items)
    {
        items.Add(item);
    }
}

而上面的"works"。似乎我可以用更简洁的方式来写。然而,我还没能弄清楚是怎么回事。

谢谢,

c# -将所有列表的列表连接在一起

您可以在Linq中使用SelectMany

var result = order.Departments.SelectMany(x => x.Items).ToList();