0
에서 예외가 발생합니다 :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;
}