溫馨提示×

c# distinctby能去重對象嗎

c#
小樊
109
2024-11-28 18:06:13
欄目: 編程語言

是的,C# 中的 DistinctBy 方法可以用來去除對象列表中的重復項。它需要一個 IEnumerable<T> 類型的列表作為輸入,并返回一個新的 IEnumerable<T> 類型的結果,其中不包含重復的元素。

DistinctBy 方法通常與 LINQ 一起使用,它接受一個 lambda 表達式作為參數,該表達式用于確定列表中元素的排序依據。例如,假設我們有一個 Person 類,其中包含 NameAge 屬性,我們可以使用 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 方法認為它們是不同的元素。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女