0
當我使用DataTable
與Parallel.ForEach
,我得到:DataTable中拋出異常的Parallel.ForEach
指數超出範圍。必須是非負的並且小於 的大小。
請幫我解決它。
static void Main(string[] args)
{
DataTable dt = CreateTable();
dt.Columns.Add("C");
//Parallel.ForEach(Partitioner.Create(0, dt.Rows.Count), range =>
//{
// for (int j = range.Item1; j < range.Item2; j++)
// {
// dt.Rows[j]["C"] = dt.Rows[j]["A"] + "-" + dt.Rows[j]["B"];
// }
//});
Parallel.ForEach(dt.AsEnumerable(), row =>
{
row["C"] = row["A"] + "-" + row["B"];
});
}
private static DataTable CreateTable()
{
DataTable dataTable = new DataTable();
dataTable.Columns.Add("A");
dataTable.Columns.Add("B");
for (int i = 0; i < 100000; i++)
{
dataTable.Rows.Add("A" + i, "B" + i);
}
return dataTable;
}