Teilen Sie eine Sammlung mit LINQ in Teile auf
In diesem Artikel wird ein häufiges Problem bei der Datenanalyse und -programmierung untersucht: die Aufteilung einer Menge in n verschiedene Teilmengen.
LINQ-Lösung:
LINQ bietet eine einfache und elegante Lösung für diese Aufgabe. Die folgende Erweiterungsmethode Split<T>
erzielt das erwartete Ergebnis:
<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>
Anleitung:
Split<T>
akzeptiert zwei Parameter: die Eingabesammlung (list
) und die Anzahl der Teile, in die sie aufgeteilt werden soll (parts
). i
auf Null, der als Index des gruppierten Elements verwendet wird. group by
-Syntax, um Gruppen basierend auf dem Modulo von i
und parts
zu erstellen. Dadurch wird sichergestellt, dass Elemente basierend auf ihrer Position in der ursprünglichen Sammlung unterschiedlichen Teilen zugeordnet werden. IEnumerable<T>
Objekten erzeugen, wobei jedes Objekt einen Teil der ursprünglichen Sammlung darstellt. Diese Lösung bietet eine bequeme und lesbare Möglichkeit, eine Sammlung mithilfe von LINQ in Teilmengen aufzuteilen.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Sammlung mit LINQ in mehrere Teile aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!