首頁 >後端開發 >C++ >我如何通過persyid分組對象並使用LINQ獲得獨特的汽車模型?

我如何通過persyid分組對象並使用LINQ獲得獨特的汽車模型?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-02-02 00:16:121018瀏覽

How Can I Group Person Objects by PersonID and Get Unique Car Models Using LINQ?

使用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屬性的分組。
  • 分組的結果是匿名對象的序列,其中每個對象代表一個組,並包含PersonId作為Key和汽車列表作為Cars屬性。 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn