【问题标题】:How to flatten list of lists? [duplicate]如何展平列表列表? [复制]
【发布时间】:2022-02-02 17:08:01
【问题描述】:

我有一个查询,它与 LegalEntity 表具有一对多的关系,我的目标是获取所有 LegalEntityIds 的列表。在这一点上,我有下面的选择,它产生List<IEnumerable<string>>,有没有一种快速有效的方法,无需循环和创建单独的列表来将内部列表扁平化为一个。

var legalEntityIds = query.Select(x => x.LegalEntities.Select(y => y.LegalEntityId)).ToList();

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    使用SelectMany:

    var legalEntityIds = 
        query.SelectMany(x => x.LegalEntities).Select(y => y.LegalEntityId).ToList();
    

    或者,使用查询语法:

    var legalEntityIds = (
        from item in query
        from legalEntity in item
        select legalEntity.LegalEntityId
    ).ToList();
    

    【讨论】:

      猜你喜欢
      • 2013-12-05
      • 2013-04-24
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 2012-03-19
      相关资源
      最近更新 更多