📜  LINQ 返回具有计数的唯一值列表 - C# (1)

📅  最后修改于: 2023-12-03 15:17:20.004000             🧑  作者: Mango

LINQ 返回具有计数的唯一值列表 - C#

介绍

在开发过程中,我们可能需要对数据进行分组,并统计每组中某个属性的计数。使用 LINQ(Language-Integrated Query)可以很容易地实现这个功能。

本文介绍如何使用 LINQ 返回具有计数的唯一值列表。

示例

假设我们有以下的 Person 类:

public class Person
{
    public string Name { get; set; }

    public int Age { get; set; }
}

现在我们有一个 Person 列表,我们想要获取不同年龄的人数量以及他们各自的年龄。以下是实现此操作的代码:

List<Person> people = new List<Person>
{
    new Person { Name = "Alice", Age = 18 },
    new Person { Name = "Bob", Age = 20 },
    new Person { Name = "Charlie", Age = 18 },
    new Person { Name = "David", Age = 20 },
    new Person { Name = "Eva", Age = 18 }
};

var result = people.GroupBy(p => p.Age)
                   .Select(g => new { Age = g.Key, Count = g.Count() })
                   .ToList();

该代码使用 GroupBy 方法将人们按照年龄进行分组,然后使用 Select 方法将年龄和人数作为新的匿名类型选择出来。

最后,该代码使用 ToList 方法将结果转换为 List。

总结

使用 LINQ,可以轻松地获取唯一值和相应的计数。使用 GroupBy 进行分组,然后使用 Count 计算分组中的元素个数。

以上就是本篇文章的全部内容,希望对您有帮助。