我想操纵我的Linq Group的数据输出,取出Id并且只输出输出而不是ID的组
我该怎么做?
这是我的LINQ
foreach (var item in db.Pos.Where(r => r.Fecha.Day <= today.Day)
.Select(g => new { Pdv = g.Pdv, Total = g.Total })
.GroupBy(l => l.Pdv)
.AsEnumerable()
.Select(z => new { Pdv = z.Key, Total = z.Sum(l => l.Total) })
.OrderByDescending(r => r.Total)
.Select(r => new { Pdv = r.Pdv, Total = String.Format("{0:$#,##0.00;($#,##0.00);Zero}", Decimal.Round(r.Total, 0)) })
{
listadepuntos.Add(item.ToString());
}
我的输出是这样的:
{Pdv = Central, Total = 42,143.00}
我想把输出中的“PDV =”作为一部分,只得到这个:
{Central, Total = 42,143.00}
有没有办法用我的Linq做到这一点?还是其他一些额外的代码?
答案 0 :(得分:1)
使用String.Format
格式化字符串,然后再将其添加到List
listadepuntos.Add(string.Format("{{{0}, Total = {1}}}", item. Pdv, item. Total));
如果您使用的是C# 6
,那么我们可以利用String Interpolation
的美感。
listadepuntos.Add($"{{{item.Pdv}, Total = {item.Total}}}");