使用LINQ按PersonID分組
在本例中,您的目標是按PersonID屬性對Person對象列表進行分組,並為每個人檢索唯一的汽車型號列表。為此,您可以使用LINQ提供的GroupBy擴展方法。
以下LINQ查詢演示瞭如何按PersonID分組並提取與每個人關聯的汽車列表:
var results = from p in persons group p.car by p.PersonId into g select new { PersonId = g.Key, Cars = g.Distinct().ToList() };
說明:
group p.car by p.PersonId
操作根據每個唯一的PersonId值創建所有car屬性的分組。 Distinct()
方法確保只返回唯一的汽車型號。 或者,您可以使用Lookup來有效地檢索特定PersonId的汽車列表:
var carsByPersonId = persons.ToLookup(p => p.PersonId, p => p.car);
用法:
// 检索特定人员ID的汽车列表 var carsForPerson = carsByPersonId[personId].Distinct().ToList();
此方法如果查找中不存在指定的人員ID,則返回一個空序列。 Distinct().ToList()
確保返回唯一的汽車型號列表。
以上是我如何通過persyid分組對象並使用LINQ獲得獨特的汽車模型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!