Heim > Backend-Entwicklung > C++ > Wie kann ich eine Sammlung mithilfe von LINQ in Untersammlungen aufteilen?

Wie kann ich eine Sammlung mithilfe von LINQ in Untersammlungen aufteilen?

Linda Hamilton
Freigeben: 2025-01-20 04:01:09
Original
775 Leute haben es durchsucht

How Can I Split a Collection into Sub-Collections Using LINQ?

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

Die

Erweiterungsmethode 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>
Nach dem Login kopieren

Verwendung:

Die

Split-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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage