TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.78K subscribers
Post #1165 1.43K
День девятьсот сорок восьмой. #ЧтоНовенького
IEnumerable.Chunk() в .NET 6
В .NET 6 для IEnumerable<T> появился новый метод расширения Chunk(size). Этот метод на самом деле довольно простой, но в то же время мощный. На данный момент .NET 6 находится в предварительной версии. И заметьте, что эта функция доступна только в .NET 6. Ни в .NET 5, ни в .NET Core 3.1, ни в любой другой версии.

Итак, мы можем написать такой код:
var list = Enumerable.Range(1, 100);
var chunkSize = 10;
//Делим коллекцию на части по 10
foreach(var chunk in list.Chunk(chunkSize))
{
foreach(var item in chunk)
Console.WriteLine(item);
}

Метод Chunk позволяет нам корректно разделить коллекцию, когда вы хотите обрабатывать элементы пакетами, особенно параллельно:
var list = Enumerable.Range(1, 100);
foreach(var chunk in list.Chunk(10))
{
Parallel.ForEach(chunk, (item) =>
{
//параллельная обработка
});
}
Метод принимает единственный параметр – размер пакета. При этом все пакеты, кроме последнего, будут иметь максимальное количество элементов. Последний пакет будет включать оставшиеся элементы, поэтому может быть меньше.

Вы, наверное, думаете, а почему не использовать Skip иTake? Можно, но метод Chunk более лаконичен и делает код немного более читаемым.

Источники: https://dotnetcoretutorials.com/2021/08/12/ienumerable-chunk-in-net-6/
More from @netdeveloperdiary
  1. Oct 16, 2026День 2816. #Карьера #AI Станет ли ИИ-Кодинг Концом Программирования для Людей? Автор ориги…
  2. Oct 15, 2026Post #3374
  3. Oct 14, 2026Post #3373
  4. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
  5. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  6. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →