C# 的 LINQ 方法 DistinctBy
不能直接處理集合,但你可以使用 GroupBy
和 Select
方法來實現類似的功能。以下是一個示例:
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 }
};
var distinctPeople = people
.GroupBy(p => p.Name)
.Select(g => g.First())
.ToList();
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; }
}
在這個示例中,我們首先使用 GroupBy
方法按 Name
屬性對 people
集合進行分組。然后,我們使用 Select
方法從每個分組中選擇第一個元素(即具有不同 Name
的元素)。最后,我們將結果轉換為列表并輸出。