Die Serie zu den Neuerungen in .NET 6 behandelt im fünfte Teil einen Operator zum Aufteilen einer Liste in gleich große Teile.
Mit dem neuen Chunk()
-Operator in .NET 6 teilt man eine Liste in gleiche große Teile gemäß der Angabe im Parameter. Gegebenenfalls erhält man im letzten Teil einen kleineren Rest.
Beispiel: Gegeben sei eine Menge von zehn Zufallszahlen:
var menge = Enumerable.Range(0, 10)
.Select(r => _rand.Next(20))
.ToList();
Diese Menge teilt mit Chunk(3)
in vier Teile: drei Teile mit drei Zahlen und der Rest-Chunk mit einer Zahl.
List<int[]> chunks = menge.Chunk(3).ToList();
Print("Chunk() Teil 1", chunks[0]);
Print("Chunk() Teil 2", chunks[1]);
Print("Chunk() Teil 3", chunks[2]);
Print("Rest-Chunk() Teil 4", chunks[3]);
Die Chunk()
-Operation funktioniert natürlich nicht nur mit primitivem Datentypen, sondern auch mit Mengen von komplexen Objekten. Allerdings nur im RAM (LINQ-to-Objects). Es gibt noch keine Implementierung beim Datenbankzugriff mit Entity Framework Core.
()