人オブジェクトを効率的にグループ化し、LINQで車の名前を取得するこの例は、
オブジェクトのコレクションを>> Person
または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>
以上がIDでオブジェクトをグループ化し、LINQで関連する車の名前を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。