计算列表中每月的数据行数

时间:2013-11-26 19:21:29

标签: c# linq silverlight

用silverlight / c#编程。

假设我有一个列表,其中包含过去6个月每月接受/拒绝的销售数量(实时更新):

List<data> merge = new List<data>();

public class data
{
    public string month { get; set; }
    public string event_action_cd { get; set; }
    public string quote_id { get; set; }    
}

所以我的列表看起来像这样:

(Jan,接受,1

Jan,接受,2

Jan,拒绝,3

2月,接受,4 ......

我想返回一个汇总列表,其中包含月份名称和该月份接受的百分比。有一种优雅的方式吗?最困难的是弄清楚过去6个月的情况(因为它们每个月都在变化),然后我可能会为每次接受/拒绝运行一个带有计数器的循环。

1 个答案:

答案 0 :(得分:0)

(from d in merge
group d by d.month into g
select new 
   {
       Month = g.Key, 
       Total = g.Count, 
       Accepted = g.Count(x => x.event_action_cd =="accept")*100/g.Count
   }).ToList()