C# 的 LINQ 方法 DistinctBy
不能直接处理集合,但你可以使用 GroupBy
和 Select
方法来实现类似的功能。以下是一个示例:
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { Listpeople = new List { 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
的元素)。最后,我们将结果转换为列表并输出。