Heim >Backend-Entwicklung >C++ >Wie kann ich Personenobjekte nach Personid gruppieren und einzigartige Automodelle mit LINQ erhalten?

Wie kann ich Personenobjekte nach Personid gruppieren und einzigartige Automodelle mit LINQ erhalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-02-02 00:16:12929Durchsuche

How Can I Group Person Objects by PersonID and Get Unique Car Models Using LINQ?

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:

    Erstellen Sie alle Autoattribute basierend auf jedem einzigartigen personenbezogenen Wert.
  • group p.car by p.PersonId Das Ergebnis der Gruppierung ist die Abfolge von anonymen Objekten.
  • Methoden stellen sicher, dass nur das einzige Automodell zurückgegeben wird.
  • Distinct()
  • oder Sie können die Suche verwenden, um die Automobilliste der spezifischen Persönlichkeit effektiv abzurufen:

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!

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