Heim >Backend-Entwicklung >C++ >Wie kann Linq eine Liste effizient in Untervermieter einer bestimmten Größe aufteilen?

Wie kann Linq eine Liste effizient in Untervermieter einer bestimmten Größe aufteilen?

Susan Sarandon
Susan SarandonOriginal
2025-02-01 22:36:13649Durchsuche

How Can LINQ Efficiently Split a List into Sublists of a Specified Size?

LINQ Effiziente Segmentierungsliste

verwenden lINQ bietet eine einfache und leistungsstarke Datenverarbeitungsmethode für die .NET -Anwendung, einschließlich der Funktion zur Aufteilung der Liste in eine Sub -Liste gemäß verschiedenen Bedingungen.

Betrachten Sie die folgenden Probleme: Sie haben ein

, Sie müssen es in mehrere Unter -Listen des

-Objekts unterteilen, und die Größe jeder untergeordneten Liste wird durch den Index bestimmt. Beispielsweise enthält die ursprüngliche Liste die folgenden Elemente: List<T> T

Die Liste, die Sie erhalten möchten, lautet:
<code>[a, g, e, w, p, s, q, f, x, y, i, m, c]</code>

Die Größe der Sub -Liste kann als Funktionsparameter angegeben werden.
<code>[a, g, e], [w, p, s], [q, f, x], [y, i, m], [c]</code>

Eine Lösung mit LINQ ist wie folgt:

Dieser Code führt die folgenden Schritte aus:
<code class="language-csharp">public static List<List<T>> Split<T>(IList<T> source, int sublistSize)
{
    return source
        .Select((x, i) => new { Index = i, Value = x })
        .GroupBy(x => x.Index / sublistSize)
        .Select(x => x.Select(v => v.Value).ToList())
        .ToList();
}</code>

Gemäß der Indexgruppe
    :
  1. wird die Methode an die Elemente in der Quellliste gemäß dem Elementindex gezahlt, jede Gruppe repräsentiert eine andere Sub -Liste. Parameterregelgröße. GroupBy Wählen Sie die sub -list sublistSize:
  2. Die Methode wird verwendet, um die Werte in jeder Gruppe in eine neue Liste zu extrahieren.
  3. konvertiert in die Liste : Verwenden Sie dann Select, um die Gruppe in eine Liste umzuwandeln.
  4. Das Ergebnis ist ein , von denen jede die angegebenen Elemente der ursprünglichen Liste enthält und gemäß dem Index des Projekts geteilt wird. Durch die Übergabe in die -Parameter kann die Größe der Sub -Liste flexibel gesteuert werden. ToList

Das obige ist der detaillierte Inhalt vonWie kann Linq eine Liste effizient in Untervermieter einer bestimmten Größe aufteilen?. 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