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) //{ //} }