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