Heim > Backend-Entwicklung > C++ > Wie kann ich eine Sammlung mit LINQ in mehrere Teile aufteilen?

Wie kann ich eine Sammlung mit LINQ in mehrere Teile aufteilen?

DDD
Freigeben: 2025-01-20 03:41:09
Original
647 Leute haben es durchsucht

How Can I Split a Collection into Multiple Parts Using LINQ?

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

Anleitung:

    Die Methode
  • Split<T> akzeptiert zwei Parameter: die Eingabesammlung (list) und die Anzahl der Teile, in die sie aufgeteilt werden soll (parts).
  • Es initialisiert den Zähler i auf Null, der als Index des gruppierten Elements verwendet wird.
  • Diese Methode verwendet die 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.
  • Schließlich soll das Ergebnis eine Sammlung von 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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage