Heim >Backend-Entwicklung >C++ >Wie man Personenobjekte nach ID gruppiert und die zugehörigen Karennamen in Linq abrufen?
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
<code class="language-csharp">var carsByPersonId = persons.ToLookup(p => p.PersonId, p => p.car);</code>
personId
Zugriff auf die Autos für ein bestimmtes
<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
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!