有效地分組對象,並用Linq
檢索汽車名稱此示例演示瞭如何通過其Person
>對象的集合進行分組,並使用LINQ的PersonId
>或GroupBy
方法來檢索關聯的汽車名稱。 假設您有一個ToLookup
對象的列表,每個對像都有Person
> PersonId
car
屬性。 目的是將相同的PersonId
的人分組並獲得每個組的汽車列表。
GroupBy
方法提供了一種實現此分組的簡潔方法:
<code class="language-csharp">var results = persons.GroupBy(p => p.PersonId) .Select(g => new { PersonId = g.Key, Cars = g.Select(p => p.car).ToList() });</code>
列表組成persons
屬性。 然後,對於每個組(PersonId
),它創建一個包含g
(PersonId
)的匿名對象和一個汽車名稱列表(g.Key
)。
g.Select(p => p.car).ToList()
>另外,該方法可以創建一個類似於字典的查找結構,可提供有效的基於密鑰的訪問:
ToLookup
>訪問特定
<code class="language-csharp">var carsByPersonId = persons.ToLookup(p => p.PersonId, p => p.car);</code>
兩種方法都有效地分組了數據,從而可以輕鬆檢索和操縱與每個>相關的汽車名稱。 選擇最適合您需求和編碼樣式的方法;如果您預計personId
>。
以上是如何通過ID分組對象並在LINQ中檢索相關的汽車名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!