Verwenden Sie LINQ, um die Sammlung in Untersammlungen zu unterteilen
Das Aufteilen einer Sammlung in kleinere Teile ist eine häufige Programmieraufgabe. Mit LINQ (Language Integrated Query) können Sie dies mit einer einfachen Erweiterungsmethode erreichen.
Teilen Sie das Set in N Teile
DieErweiterungsmethode Split
empfängt als Eingabe eine Sammlung und die gewünschte Anzahl von Teilen und gibt ein IEnumerable<IEnumerable>
zurück, das die Untersammlung darstellt. Dieser Algorithmus unterteilt Elemente basierend auf dem Rest in Teile, wenn der aktuelle Index durch die Anzahl der Teile geteilt wird.
Umsetzung:
<code class="language-csharp">static class LinqExtensions { 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>
Verwendung:
DieSplit
-Methode kann für jede IEnumerable
-Sammlung verwendet werden. Um beispielsweise eine Liste mit Zahlen in drei Teile aufzuteilen:
<code class="language-csharp">var numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var parts = numbers.Split(3);</code>
Dadurch wird ein IEnumerable
mit 3 IEnumerable
-Sammlungen zurückgegeben, von denen jede eine Teilmenge der ursprünglichen Liste enthält:
<code>部分1:{ 1, 4, 7 } 部分2:{ 2, 5, 8 } 部分3:{ 3, 6, 9 }</code>
Das obige ist der detaillierte Inhalt vonWie kann ich eine Sammlung mithilfe von LINQ in Untersammlungen aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!