Parallel.ForEach没有执行该方法

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包含行,但似乎不再执行.

请你能给我指点和/或在哪里看?

Sel*_*enç 7

尝试使用AsEnumerable方法:

Parallel.ForEach<DataRow>(dsGroups.Tables["Table"].AsEnumerable(), ProduceInvoices);
Run Code Online (Sandbox Code Playgroud)

Rowsproperty返回一个DataRowCollection未实现的属性IEnumerable<T>.