在C#中,DistinctBy
方法本身并不提供排序功能。它主要用于根据指定的属性从集合中删除重复项。如果你需要对结果进行排序,可以在调用DistinctBy
之后使用OrderBy
或OrderByDescending
方法。
以下是一个示例:
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { Listpeople = new List { 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
属性对结果进行排序。最后,我们遍历并输出排序后的结果。