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

时间:2016-11-11 13:21:06

标签: c#

我有一个C#应用程序。在这个C#应用程序中,我有一个对象,我将其称为orderorder内部是名为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);
    }
}

虽然上述“有效”。我似乎可以用更浓缩的方式编写它。然而,我还没弄清楚如何。

谢谢,

1 个答案:

答案 0 :(得分:3)

您可以在 Linq 中使用 SelectMany

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