有以下数据,每列对象为timeinfor,两列,时间、描述。
-------------------
2011.1.1,xxx
2011.1.1,xxx --->List<timeinfor> list
-------------------
2011.2.1,xxx
2011.2.1,xxx --->List<timeinfor> list ----------加入---------> Dictionary<string,List<timeinfor> >
2011.2.1,xxx
-------------------
2011.3.1,xxx --->List<timeinfor> list
-------------------
需要将以上信息,按照timeinfor的“时间”列,分别加入到多个List<timeinfor> list中,每个list组中元素的时间列都是相同。
然后加入到Dictionary<string,List<timeinfor> >,其中String为list组中的时间,List<timeifor>为相同时间的元素的分组。
求大神帮忙用linq实现以以上该功能。
var dic=new Dictionary<string,List<timeinfor>>(); foreach(var g in list.GroupBy(x=>x.Date)) { dic.Add(g.Key.ToString("yyyy.MM.dd"),g.ToList()); } 大概就是这样,手写的,你自己测试调整下。
list.GroupBy(m => m.Date).ToDictionary(m=> m.Key);