时间:2021-01-16 12:31:21 | 栏目:.NET代码 | 点击:次
废话不多说了,直接给大家贴代码了,具体代码如下所示:
public class Person { public string FirstName{set;get;} public string LastName{set;get;} public Person(){} public Person(string firstName, string lastName) { FirstName = firstName; LastName = lastName; } } List<Person> personList=new List<Person>(); personList.Add(new Person() { FirstName = "Mickey", LastName = "Mouse" }); personList.Add(new Person() { FirstName = "Mickey", LastName = "Mouse" }); personList.Add(new Person() { FirstName = "zhang", LastName = "san" }); string columnName="FirstName"; var dics=personList.GroupBy(x => GetPropertyValue(x, columnName)).ToDictionary(x=>x.Key,x=>x.Count()); foreach(var dic in dics) { textBox1.AppendText(string.Format("{0},{1}\r\n",dic.Key,dic.Value)); }
ps:下面看下C# List泛型集合中的GroupBy<>用法
//根据子项目id得到flowjump实体类 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) //{ //} }
在使用的时候需要使用分组中的键:
var groupInfo = orderinfo.Info.GroupBy(m => m.xx).ToList(); foreach (var item in groupInfo) { string infotemp = item.Key; }
总结