是的,C# 中的 DistinctBy
方法可以用來去除對象列表中的重復項。它需要一個 IEnumerable<T>
類型的列表作為輸入,并返回一個新的 IEnumerable<T>
類型的結果,其中不包含重復的元素。
DistinctBy
方法通常與 LINQ 一起使用,它接受一個 lambda 表達式作為參數,該表達式用于確定列表中元素的排序依據。例如,假設我們有一個 Person
類,其中包含 Name
和 Age
屬性,我們可以使用 DistinctBy
方法根據 Name
屬性去除重復的 Person
對象:
var people = new List<Person>
{
new Person { Name = "John", Age = 30 },
new Person { Name = "Jane", Age = 25 },
new Person { Name = "John", Age = 30 }
};
var distinctPeople = people.DistinctBy(p => p.Name);
在上面的示例中,distinctPeople
將只包含兩個 Person
對象:一個名為 “John”,年齡為 30;另一個名為 “Jane”,年齡為 25。注意,盡管兩個 Person
對象具有相同的 Name
屬性值,但它們在列表中的位置不同,因此 DistinctBy
方法認為它們是不同的元素。