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