m.e*_*son 2 .net c# foreach multithreading task-parallel-library
我正在尝试并行化以下For Each循环,它按预期工作.我从这开始:
foreach (DataRow drGroup in dsGroups.Tables["Table"].Rows)
ProduceInvoices(drGroup);
Run Code Online (Sandbox Code Playgroud)
并将其更改为:
Parallel.ForEach<DataRow>((IEnumerable<DataRow>)dsGroups.Tables["Table"].Rows, ProduceInvoices)
Run Code Online (Sandbox Code Playgroud)
ProduceInvoices尽管dsGroup包含行,但似乎不再执行.
请你能给我指点和/或在哪里看?
尝试使用AsEnumerable方法:
Parallel.ForEach<DataRow>(dsGroups.Tables["Table"].AsEnumerable(), ProduceInvoices);
Run Code Online (Sandbox Code Playgroud)
Rowsproperty返回一个DataRowCollection未实现的属性IEnumerable<T>.