代码之家  ›  专栏  ›  技术社区  ›  Grizzly

groupby select with string.join

  •  0
  • Grizzly  · 技术社区  · 6 年前

    var activeEquipList = issued.Union(request).GroupBy(x=>x.EquipID).Select(x=>new EquipList()
    {
        EquipCount = x.Count(),
        EquipName = db.tblMasterEquipLists.Find(x.Key).Equipment,
        Serial = x.Where(t => t.EquipID == x.Key).ToArray().Select(g=>g.Serial.Join(",",)) // problem line
    }).ToList();
    

    解释

    Serial string List<string> 参加

    我怎样才能做到这一点?或者,如果这不能实现,那么,什么是更好的方法呢?如果我必须改变 那么我可以接受。

    2 回复  |  直到 6 年前
        1
  •  3
  •   Uriil    6 年前

    Serial = string.Join(",", x.Where(t => t.EquipID == x.Key).Select(g => g.Serial))
    
        2
  •  1
  •   Grizzly    6 年前

    啊,再来一口咖啡,我想出来了:

    var activeEquipList = issued.Union(request).GroupBy(x=>x.EquipID).Select(x=>new EquipList()
    {
        EquipCount = x.Count(),
        EquipName = db.tblMasterEquipLists.Find(x.Key).Equipment,
        Serial = string.Join(", ", x.Select(t => t.Serial)
    }).ToList();