Heim >Backend-Entwicklung >C++ >Wie man Personenobjekte nach ID gruppiert und die zugehörigen Karennamen in Linq abrufen?

Wie man Personenobjekte nach ID gruppiert und die zugehörigen Karennamen in Linq abrufen?

Linda Hamilton
Linda HamiltonOriginal
2025-02-02 00:06:10240Durchsuche

How to Group Person Objects by ID and Retrieve Associated Car Names in LINQ?

effizient Gruppieren von Personenobjekten und Abrufen von Autennamen mit Linq

Dieses Beispiel zeigt, wie eine Sammlung von Person Objekten nach ihrem PersonId gruppiert und die zugehörigen Autennamen mithilfe von Linqs GroupBy oder ToLookup -Methoden abgerufen werden. Angenommen, Sie haben eine Liste von Person Objekten, jeweils eine Eigenschaft PersonId und car. Das Ziel ist es, Personen mit demselben PersonId zu gruppieren und für jede Gruppe eine Liste von Autos zu erhalten.

Die GroupBy -Methode bietet eine prägnante Möglichkeit, diese Gruppierung zu erreichen:

<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>

Dieser Code gruppiert zuerst die Liste persons nach der Eigenschaft PersonId. Dann erstellt es für jede Gruppe (g) ein anonymer Objekt, das die PersonId (g.Key) und eine Liste von Autonamen (g.Select(p => p.car).ToList()) enthält.

.

ToLookup Alternativ erstellt die

-Methode eine Lookup-Struktur, die einem Wörterbuch ähnlich ist und einen effizienten, Schlüsselbasierten Zugriff bietet:
<code class="language-csharp">var carsByPersonId = persons.ToLookup(p => p.PersonId, p => p.car);</code>

personId Zugriff auf die Autos für ein bestimmtes

ist dann sehr einfach:
<code class="language-csharp">var carsForPerson = carsByPersonId[personId].ToList(); // Convert to List if needed</code>

PersonId Beide Ansätze gruppieren die Daten effektiv und ermöglichen ein einfaches Abrufen und Manipulation von Autennamen, die mit jedem ToLookup verbunden sind. Wählen Sie die Methode, die Ihren Anforderungen und Codierungsstil am besten entspricht. PersonId ist möglicherweise vorzuziehen, wenn Sie häufige Suchanlagen mit

. vorhersehen

Das obige ist der detaillierte Inhalt vonWie man Personenobjekte nach ID gruppiert und die zugehörigen Karennamen in Linq abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn