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