我有以下列表:
List<string> data = new List<string>();
然后我通过获取MySQL请求的结果来填充它:
data.Add(name);
列表填充得很好,但我想进行分组,并希望获得列表中每个名称的编号:
name A = X; name B = X; etc...
我尝试使用data.GroupBy(data, data.Count)
但是没有效果。
有什么建议吗?
答案 0 :(得分:2)
试试这个:
from d in data
group d by d.Name into gds
select new
{
Name = gds.Key,
Count = gds.Count(),
}
答案 1 :(得分:2)
试试这个:
string[] foo = new string[]{"foo","foo","bar","foo","baz","foo"};
var grouping = foo.ToList().GroupBy(x=>x);
foreach (var s in grouping.OrderByDescending(x=>x.Count()))
{
Console.WriteLine(s.Key + " - " + s.Count().ToString());
}