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
方法根據名字刪除重復項。這樣,你就可以得到一個包含滿足條件的不同名字的列表。