c#中对列表元素进行分组

本文关键字:列表元素 | 更新日期: 2023-09-27 18:09:25

我有以下列表:

List<string> data = new List<string>();

然后我通过获取MySQL请求的结果来填充它:

data.Add(name);

该列表已被填充,但我想进行分组,并希望获得列表中每个名称的数量:

<>之前name A = X;name B = X;等等……之前

我尝试使用data.GroupBy(data, data.Count),但没有工作。

有什么建议吗?

c#中对列表元素进行分组

试试这个:

from d in data
group d by d.Name into gds
select new
{
    Name = gds.Key,
    Count = gds.Count(),
}

试试这个:

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());
}