Przejdź do treści

.NET 6: Chunk

Jedną z nowości .NET 6 jakie zostały wprowadzone do LINQ jest Chunk. Metoda ta pozwala podzielić kolekcję na mniejsze kolekcje. Nie wiem jak Ty ale ja czasem w swoich projektach spotykałem się z tego typu potrzebami aby podzielić jakiś zbiór na mniejszy. W tym poście pozwolę sobie zaprezentować przykład użycia.

var random = new Random();
var numbers = new List<int>(23);

for (var i = 0; i < 23; i++)
{
    numbers.Add(random.Next());
}

var groupIdx = 1;
foreach (var group in numbers.Chunk(10))
{
    Console.WriteLine($"Group {groupIdx}:");
    Console.WriteLine($"Numbers: {string.Join(' ', group)}{Environment.NewLine}");
    groupIdx++;
}

Konsola wypisze tekst podobny do tego poniżej:

Group 1:
Numbers: 717786458 105442901 481938825 918111875 507842696 1072704921 1386307737 1117803402 67996174 86624162

Group 2:
Numbers: 1147931354 809623899 851026940 1239786921 2094178388 1295918301 963431156 304818079 899644889 573792095

Group 3:
Numbers: 1583199424 976215792 707099197