有效地分组对象,并用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中文网其他相关文章!