Heim >Backend-Entwicklung >C++ >Wie kann LINQ eine Liste von Objekten in verschachtelte Listen gruppieren?

Wie kann LINQ eine Liste von Objekten in verschachtelte Listen gruppieren?

Susan Sarandon
Susan SarandonOriginal
2025-01-13 11:35:43620Durchsuche

How Can LINQ Group a List of Objects into Nested Lists?

Liste von Objekten mit LINQ in verschachtelte Listen gruppieren

Eine effiziente Datenorganisation ist im Bereich der Programmierung von entscheidender Bedeutung. LINQ bietet einen leistungsstarken Mechanismus zum Gruppieren von Objekten basierend auf bestimmten Bedingungen. In diesem Artikel wird ein häufiges Problem gelöst: das Gruppieren einer Liste von Objekten in einer neuen Liste mit verschachtelten Listen.

Bedenken Sie die folgende Klassendefinition:

<code>public class User
{
    public int UserID { get; set; }
    public string UserName { get; set; }
    public int GroupID { get; set; }
}</code>

Um Benutzer anhand ihrer Gruppen-ID zu gruppieren, können wir den folgenden Code verwenden:

<code>var groupedCustomerList = userList
    .GroupBy(u => u.GroupID)
    .Select(grp => grp.ToList())
    .ToList();</code>

Codeinterpretation:

  1. GroupBy: Diese Klausel unterteilt die ursprüngliche Benutzerliste basierend auf dem GroupID-Attribut in mehrere Gruppen.
  2. Auswählen: Anschließend wird jedes Ergebnis (d. h. eine Gruppe von Benutzern mit derselben Gruppen-ID) in eine Liste von Benutzern umgewandelt.
  3. ToList: Abschließend wird das Ergebnis in eine neue Liste verschachtelter Listen konvertiert, wobei jede verschachtelte Liste Benutzer aus derselben Gruppe enthält.

Dieser LINQ-Ausdruck gruppiert die ursprüngliche Benutzerliste geschickt nach Gruppen-ID und präsentiert sie auf organisierte Weise. Jede verschachtelte Liste im Endergebnis repräsentiert eine Gruppe von Benutzern mit derselben Gruppen-ID.

Das obige ist der detaillierte Inhalt vonWie kann LINQ eine Liste von Objekten in verschachtelte Listen gruppieren?. 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