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

Wie kann ich eine Sammlung mithilfe von LINQ effizient in Teilmengen aufteilen?

Mary-Kate Olsen
Freigeben: 2025-01-20 03:51:09
Original
910 Leute haben es durchsucht

How Can I Efficiently Split a Collection into Subsets Using LINQ?

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

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.

teilbar ist

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

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.

ist

Vorteile des LINQ-Ansatzes

Der Einsatz von LINQ für diese Aufgabe bietet mehrere entscheidende Vorteile:

  • Lesbarkeit: Die prägnante LINQ-Syntax verbessert die Codeklarheit.
  • Leistung: Die optimierte Implementierung von LINQ sorgt für eine effiziente Verarbeitung.
  • Vielseitigkeit: Die Methode ist an verschiedene Sammlungstypen und Teilmengengrößen anpassbar.

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!

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