2
我有这个简单的函数,作为一个任务工作,只打印数据集的值。我从主函数和索引传递数据集。问题是我只填充了2个数据集索引,但是函数总是跳过一个数据集索引,即在最后一次迭代中,它想要开始读取索引2,这是未初始化的,因此是异常。Task.Factory.StartNew()生成对象未初始化错误
for (int i = 0; i < 2; i++)
{
tasks.Add(Task.Factory.StartNew(() => {
int a = i;
showNodeID(dataSet,a);
}));
}
而且功能
private static void showNodeID(DataSet[] ds, int a)
{
Console.WriteLine(a.ToString());
Console.WriteLine(ds[a].GetXml());
} //END
在最后一次迭代时,我在功能上却打印1,如果我打印这将是2
奇迹般有效。谢谢! – Abdul