using System.Collections;
using System.Threading.Tasks;
public static void Main()
ArrayList forecasts = new ArrayList();
for(var k = 0; k < 100; k++){
var taskNum = (int) Math.Ceiling(forecasts.Count / (double) size);
Console.WriteLine("task number:" + taskNum);
Console.WriteLine("item number:" + forecasts.Count);
Task[] tasks = new Task[taskNum];
for(i = 0; i < taskNum; i++) {
if (forecasts.Count - start < size) {
size = forecasts.Count - start;
tasks[i] = Task.Run(() => {
var batchedforecastRows = forecasts.GetRange(start, size);
Console.WriteLine("batchID:" + (i + 1) + " Inserted:["+string.Join( ",", batchedforecastRows.ToArray())+"]");