System.AggregateException IndexOutOfRangeException索引超出了数组界限
C#多线程下标越界
Task[] tasks = new Task[renwuShu];
for (int i = 0; i < renwuShu; i++)
{
tasks[i] = new Task<DataSet>(() => dobidui(xzhdas[i], das[i], i));
tasks[i].Start();
}
Task.WaitAll(tasks);
改下面这样,task未执行前for已经循环完毕了,i值为最大值rewuShu,task执行时导致越界了
Task[] tasks = new Task[renwuShu];
for (int i = 0; i < renwuShu; i++)
{
var curi=i;/////
tasks[i] = new Task<DataSet>(() => dobidui(xzhdas[curi], das[curi], curi));
tasks[i].Start();
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!