LINQ: Ein leistungsstarkes Tool zur Teilmengenerstellung
Die Datenmanipulation erfordert häufig die Aufteilung großer Sammlungen in kleinere, überschaubare Teilmengen. LINQ (Language Integrated Query) bietet eine elegante und effiziente Lösung für diese häufige Aufgabe.
Die LINQ-Lösung
Die folgende LINQ-Erweiterungsmethode teilt eine Sammlung effektiv in mehrere Teilmengen auf:
<code class="language-csharp">public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts) { int i = 0; var splits = from item in list group item by i++ % parts into part select part.AsEnumerable(); return splits; }</code>
Diese Methode akzeptiert eine Sammlung (list
) und die gewünschte Anzahl von Teilmengen (parts
). Es nutzt die Operatoren GroupBy
und Select
von LINQ, um die Eingabe zu partitionieren. Der Modulo-Operator (%
) sorgt für eine gleichmäßige Verteilung über die Teilmengen und behandelt Fälle, in denen die Sammlungsgröße nicht perfekt durch parts
.
Praktische Anwendung
So verwenden Sie die Split
-Methode:
<code class="language-csharp">List<int> numbers = Enumerable.Range(1, 100).ToList(); IEnumerable<IEnumerable<int>> splitNumbers = numbers.Split(5);</code>
In diesem Beispiel wird eine Liste mit 100 Ganzzahlen in 5 Teilmengen unterteilt. Beachten Sie, dass die resultierenden Teilmengen möglicherweise unterschiedliche Größen haben, wenn die Größe der ursprünglichen Sammlung kein Vielfaches von parts
.
Vorteile des LINQ-Ansatzes
Der Einsatz von LINQ für diese Aufgabe bietet mehrere entscheidende Vorteile:
Das obige ist der detaillierte Inhalt vonWie kann ich eine Sammlung mithilfe von LINQ effizient in Teilmengen aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!