下面是一个使用LINQ进行按列分组并获取组的第一个记录的示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
// 创建一个示例数据集
List people = new List()
{
new Person() { Name = "Alice", Age = 25 },
new Person() { Name = "Bob", Age = 30 },
new Person() { Name = "Charlie", Age = 25 },
new Person() { Name = "Dave", Age = 40 },
new Person() { Name = "Eve", Age = 30 },
new Person() { Name = "Frank", Age = 25 }
};
// 按列分组并获取组的第一个记录
var groupedPeople = people.GroupBy(p => p.Age)
.Select(g => g.First());
// 输出结果
foreach (var person in groupedPeople)
{
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
}
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
这个示例代码首先定义了一个Person
类,其中包含Name
和Age
属性。然后,创建了一个包含一些Person
对象的列表。
接下来,使用LINQ对people
列表进行按列分组,并使用GroupBy
方法将它们按照Age
属性进行分组。然后,使用Select
方法选择每个分组的第一个记录,并将结果存储在groupedPeople
变量中。
最后,使用foreach
循环遍历groupedPeople
列表,并输出每个人的姓名和年龄。
该代码将输出以下结果:
Name: Alice, Age: 25
Name: Bob, Age: 30
Name: Dave, Age: 40