Нет необходимости в переменной count, вы можете использовать оператор по модулю внутри для l oop
Like
for(int i = 0; i <= numbers; i++)
{
//i != 0 to avoid bulk process at first
if(i != 0 && i % 20 == 0)
{
//Your bulk operation
}
}
Я рекомендую вам использовать Console.WriteLine()
для вывода значений i
и counter
на каждой итерации, чтобы вы понимали ошибку в своем коде.
var numbers = 39 // not static numbers
int count = 0;
for(int i=0; i<=numbers; i++)
{
count++;
//Print values to understand flow of program
Console.WriteLine($"For i = {i}, value of count is {count}");
if (count == 20)
{
Console.WriteLine("Time to reset count variable");
//Logic
count = 0;
}
}
Вы можете использовать Linq .Skip()
и .Take()
, делать партии
var batchSize = 20;
var batchCount = files.Count() / batchSize;
for (int i = 0; i < batchCount; i++)
{
var bulkFiles = files.Skip(i * batchSize).Take(batchSize);
}