c# Group a list and get the count of each group
本问题已经有最佳答案,请猛点这里访问。
我有一个字符串列表,其中包含多个相同值的条目。我需要获取列表中所有唯一元素以及每个唯一元素组的计数。例如:
1 2 3 4 5 6 7 8 9 10 11 | string a ="cat"; string b ="dog"; string c ="cat"; string d ="horse"; List<string> list = new List<string>(); list.Add(a); list.Add(b); list.Add(c); list.Add(d); |
我需要这些数据:"猫"-2,"狗"-1,"马"-1
您需要执行GroupBy:
1 2 3 | var result=list.GroupBy(s=>s).Select(g=>new{Animal=g.Key, Count=g.Count()}); foreach(var e in result) Console.WriteLine("{0}--{1}",e.Animal,e.Count); |
如果您愿意,也可以删除对
1 2 3 | var result=list.GroupBy(s=>s); foreach(var g in result) Console.WriteLine("{0}--{1}",g.Key,g.Count()); |
1 2 |