C# - 将所有列表列表连接在一起[重复]

Posted

技术标签:

【中文标题】C# - 将所有列表列表连接在一起[重复]【英文标题】:C# - Joining All Lists of Lists together [duplicate] 【发布时间】:2016-11-11 13:21:06 【问题描述】:

我有一个 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);
    

虽然上述“有效”。似乎我可以用更简洁的方式来写它。然而,我一直无法弄清楚如何。

谢谢,

【问题讨论】:

AddRange () 是否适合您? 您选择发布此问题而不是先在谷歌上搜索是否有原因?或者您可以修改您的问题以显示您研究过但找不到您正在寻找的东西的证据吗?这是我将您的标题复制到谷歌时得到的:google.com/… 而且,我想指出的是,对于 1.6K 的代表,您现在应该知道这是如何工作的...... @rory.ap 所有代表都是通过问题而非答案获得的 @ManfredRadlwimmer -- 更有理由让他知道如何提问... 【参考方案1】:

为此,您可以在 Linq 中使用 SelectMany

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

【讨论】:

以上是关于C# - 将所有列表列表连接在一起[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将两个列表连接在一起

获取连接表ID匹配或是ID列表子集的记录[重复]

Apache Spark将多行连接成单行列表[重复]

从连接表列表中选择唯一的列名

将字符列表转换为字符串[重复]

从mysql连接两个表并在一个JSP列表中显示信息[重复]