在C#中,可以使用LINQ的DistinctBy
方法來實現對集合中的元素進行去重。這個方法需要一個lambda表達式來指定根據哪個屬性或條件進行去重。下面是一個簡單的示例:
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 = 28 },
new Person { Name = "John", Age = 30 },
new Person { Name = "Alice", Age = 25 }
};
var distinctPeople = people.DistinctBy(p => p.Name);
foreach (var person in distinctPeople)
{
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
}
}
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
在這個示例中,我們有一個Person
類,包含Name
和Age
屬性。我們創建了一個包含四個Person
對象的列表,并使用DistinctBy
方法根據Name
屬性進行去重。最后,我們遍歷去重后的集合并輸出每個對象的名稱和年齡。