Heim >Backend-Entwicklung >C++ >Wie kann LINQ verwendet werden, um eine Liste auf der Grundlage des Element -Index in Sublisten aufzuteilen?

Wie kann LINQ verwendet werden, um eine Liste auf der Grundlage des Element -Index in Sublisten aufzuteilen?

Linda Hamilton
Linda HamiltonOriginal
2025-02-01 22:26:14645Durchsuche

How Can LINQ Be Used to Split a List into Sublists Based on Item Index?

Teilen Sie die Liste mit LINQ in einen subjistischen

auf Es gibt eine große Anzahl von Listen, und Sie möchten sie in kleiner und einfacher aufteilen. LINQ (Language Integrated Query) ist ein leistungsstarkes Tool, das dies leicht erreichen kann.

Zuordnung:

Wie verwenden Sie den

Element Index als separate Zeichen und Divideliste in mehrere separate Anobjektlisten? Wenn es beispielsweise 13 Listen gibt, möchten Sie sich für drei Elemente in fünf Substataturen unterteilen.

Lösung:

Die benutzerdefinierten Funktionen, die LINQ verwenden, um diese Aufgabe auszuführen, sind unten angezeigt.

<code class="language-csharp">public static List<List<T>> Split<T>(IList<T> source)
{
    return source
        .Select((x, i) => new { Index = i, Value = x })
        .GroupBy(x => x.Index / 3)
        .Select(x => x.Select(v => v.Value).ToList())
        .ToList();
}</code>

Erläuterung:

  1. Gruppe auf Elementen mit Indizes: Wählen Sie die Methode aus. Erstellt anonyme Objekte mit jedem Elementwert und in den Index. Als nächstes basieren die Gruppenby -Methodengruppen dieser Objekte, die auf der Multiplikation des Index 3 basieren (der gewünschten Sub -Liste).
  2. Konvertieren Sie in eine Gruppenliste: Methode in GroupBy Wählen Sie jede Gruppe in eine Liste.
  3. Konvertierung von auflisten:
  4. In dem vorgesehenen Beispiel [A, G, E, W, P, S, Q, F, F, F, Y, I, M, C, C, C, C, C, C, ist es geteilt in g, e], [w, p, s], [q, f, x], [y, i, m], [c]].

Das obige ist der detaillierte Inhalt vonWie kann LINQ verwendet werden, um eine Liste auf der Grundlage des Element -Index in Sublisten aufzuteilen?. 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