C# List中Group by的用法


     var sums = WxMeetingUserInfoGroupList.Where(gro => gro.GroupName != "").GroupBy(x => new { x.GroupName }).Select(t => new
                    {
                        GroupName = t.Key,
                        peopleSum = t.Count(),
                        NumSum = t.Sum(s => s.Num)
                    });

                    foreach (var gg in sums)
                    {
                        GroupData groupData = new GroupData();
                        groupData.GroupName = gg.GroupName.GroupName;
                        groupData.peopleSum = gg.peopleSum;
                        groupData.NumSum = gg.NumSum;
                        groupData.MaxPeople = gp;
                        GroupDataList.Add(groupData);
                    }

内部结构:

flowJumps = this.FlowJumps;  
//按工序groupby flowjumps  
IEnumerable<IGrouping<int, FlowJump>> query =  
flowJumps.GroupBy(pet => pet.processID, pet => pet);  
foreach (IGrouping<int, FlowJump> info in query)  
{  
List<FlowJump> sl = info.ToList<FlowJump>();//分组后的集合   
//也可循环得到分组后,集合中的对象,你可以用info.Key去控制   
//foreach (FlowJump set in info)   
//{   
//}   
}  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM