我的一行看起来像这样:
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
的类型,那么我对此持开放态度。
感谢您的帮助。
答案 0 :(得分:3)
我认为您可以执行以下操作:
Serial = string.Join(",", x.Where(t => t.EquipID == x.Key).Select(g => g.Serial))
答案 1 :(得分:1)
啊,再喝一口咖啡,我想通了:
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();