我有一行看起来像这样:
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();