在C#中,DistinctBy
方法本身并不提供排序功能。它主要用于根據指定的屬性從集合中刪除重復項。如果你需要對結果進行排序,可以在調用DistinctBy
之后使用OrderBy
或OrderByDescending
方法。
以下是一個示例:
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
屬性對結果進行排序。最后,我們遍歷并輸出排序后的結果。