Heim >Backend-Entwicklung >C++ >Wie kann ich Personenobjekte nach Personid gruppieren und einzigartige Automodelle mit LINQ erhalten?
LINQ verwenden, um personid
zu gruppieren
In diesem Beispiel ist es Ihr Ziel, die Person -Objektliste nach dem personenbezogenen Attribut zu gruppieren und die einzige Automodellliste für alle abzurufen. Zu diesem Zweck können Sie die von Linq bereitgestellte Gruppenby -Erweiterung verwenden.
Die folgende Linq -Abfrage zeigt, wie die Personid -Persönlichkeit gruppiert und die mit allen verknüpfte Autoliste extrahiert wird:
<code class="language-csharp">var results = from p in persons group p.car by p.PersonId into g select new { PersonId = g.Key, Cars = g.Distinct().ToList() };</code>
Erläuterung:
group p.car by p.PersonId
Das Ergebnis der Gruppierung ist die Abfolge von anonymen Objekten. Distinct()
Verwendung:
<code class="language-csharp">var carsByPersonId = persons.ToLookup(p => p.PersonId, p => p.car);</code>
Wenn in dieser Methode keine festgelegte Person -ID vorliegt, wird eine leere Sequenz zurückgegeben.
Stellen Sie sicher, dass Sie die einzige Automodellliste zurückgeben.<code class="language-csharp">// 检索特定人员ID的汽车列表 var carsForPerson = carsByPersonId[personId].Distinct().ToList();</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Personenobjekte nach Personid gruppieren und einzigartige Automodelle mit LINQ erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!