分组依据 使用 String.Join 进行选择



我有一行看起来像这样:

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型。 可以有许多相同的对象,但每个对象都有不同的序列号。 这个程序已经写好了,我不想将Serial的类型更改为List<string>,所以我想我可以连接相同设备的所有不同序列号,并用逗号分隔它们。

我怎样才能做到这一点? 或者,如果无法做到这一点,那么还有什么更好的方法呢? 如果我必须改变Serial的类型,那么我对此持开放态度。

任何帮助,不胜感激。

我认为您可以执行以下操作:

Serial = string.Join(",", x.Where(t => t.EquipID == x.Key).Select(g => g.Serial))

啊,再喝一口咖啡,我想通了:

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();

最新更新