Возможно вы не знали этот метод LINQ



С 6-ой версии в .NET присутствует метод Chunk, который позволяет дробить коллекцию на одинаковые кусочки, так называемые "чанки".



// получаем итерируемый объект

var enumerable = Enumerable.Range(1, 999);



// дробим на чанки

var chunks = enumerable.Chunk(29);



// итерируем по чанкам

foreach(var chunk in chunks) // для каждого чанка

{

foreach(var item in chunk) // для каждого элемента в чанке

{

Console.WriteLine(item);

}

}



Пользуйтесь на здоровье!