我正在尝试并行处理以下For Each循环,该循环按预期工作。我从这个开始:

foreach (DataRow drGroup in dsGroups.Tables["Table"].Rows)
         ProduceInvoices(drGroup);

并将其更改为:
Parallel.ForEach<DataRow>((IEnumerable<DataRow>)dsGroups.Tables["Table"].Rows, ProduceInvoices)

但是,尽管dsGroup包含行,但ProduceInvoices似乎不再得到执行。

请您向我提供任何指针和/或在哪里寻找?

最佳答案

尝试使用 AsEnumerable 方法:

Parallel.ForEach<DataRow>(dsGroups.Tables["Table"].AsEnumerable(), ProduceInvoices);
Rows属性返回不实现DataRowCollectionIEnumerable<T>

10-07 19:52
查看更多