c#

c#中group的结果如何排序和筛选

小樊
81
2024-09-20 08:08:24
栏目: 编程语言

在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对列表进行分组、排序和筛选。最后,我们遍历并输出筛选后的结果。

0
看了该问题的人还看了