在C#中,使用LINQ(Language Integrated Query)可以对集合进行分组、排序和筛选。以下是一个示例,展示了如何使用LINQ对集合进行分组、排序和筛选:
using System;
using System.Collections.Generic;
using System.Linq;
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
List<Person> people = new List<Person>
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 },
new Person { Name = "Charlie", Age = 30 },
new Person { Name = "David", Age = 28 },
new Person { Name = "Eva", Age = 25 }
};
// 分组
var groupedPeople = people.GroupBy(p => p.Age);
// 排序
var sortedGroupedPeople = groupedPeople.OrderBy(g => g.Key);
// 筛选
var filteredSortedGroupedPeople = sortedGroupedPeople.Where(g => g.Key >= 28);
// 输出结果
foreach (var group in filteredSortedGroupedPeople)
{
Console.WriteLine($"Age: {group.Key}");
foreach (var person in group)
{
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
}
}
}
在这个示例中,我们首先创建了一个Person
类,然后创建了一个包含Person
对象的列表。接下来,我们使用LINQ对列表进行分组、排序和筛选。最后,我们遍历并输出筛选后的结果。