C# 的 LINQ 中的 DistinctBy
方法主要用于根据指定的属性或表达式从集合中删除重复项。它本身并不支持复杂的查询操作。如果你需要进行复杂的查询,可以使用 LINQ 的其他方法,如 Where
、Select
、GroupBy
等组合使用来实现。
例如,假设你有一个 Person
类,其中包含 Name
和 Age
属性,你想要查询年龄大于等于18岁且名字以 “A” 开头的所有人。你可以使用以下查询:
var result = people.Where(p => p.Age >= 18 && p.Name.StartsWith("A"))
.DistinctBy(p => p.Name);
在这个例子中,我们首先使用 Where
方法过滤出年龄大于等于18岁且名字以 “A” 开头的所有人,然后使用 DistinctBy
方法根据名字删除重复项。这样,你就可以得到一个包含满足条件的不同名字的列表。