c#

c# distinctby能排序吗

小樊
81
2024-11-28 18:08:14
栏目: 编程语言

在C#中,DistinctBy方法本身并不提供排序功能。它主要用于根据指定的属性从集合中删除重复项。如果你需要对结果进行排序,可以在调用DistinctBy之后使用OrderByOrderByDescending方法。

以下是一个示例:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { Name = "John", Age = 30 },
            new Person { Name = "Jane", Age = 25 },
            new Person { Name = "John", Age = 30 },
            new Person { Name = "Alice", Age = 25 }
        };

        var distinctPeople = people.DistinctBy(p => p.Name);

        // 对结果进行排序
        var sortedDistinctPeople = distinctPeople.OrderBy(p => p.Age);

        foreach (var person in sortedDistinctPeople)
        {
            Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
        }
    }
}

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

在这个示例中,我们首先使用DistinctBy方法根据Name属性删除重复的Person对象。然后,我们使用OrderBy方法根据Age属性对结果进行排序。最后,我们遍历并输出排序后的结果。

0
看了该问题的人还看了