📅  最后修改于: 2023-12-03 15:17:20.004000             🧑  作者: Mango
在开发过程中,我们可能需要对数据进行分组,并统计每组中某个属性的计数。使用 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 计算分组中的元素个数。
以上就是本篇文章的全部内容,希望对您有帮助。