在Parallel.ForEach循环中使用方法

时间:2018-03-27 12:16:13

标签: c# .net task parallel.foreach

我应该使用Parallel.ForEach循环,内部应该调用方法。

Parallel.ForEach(myList, item => {  
   DoSomethingWithItem(item);
 }
);

该方法应该是Task还是其他什么?

private Task DoSomethingWithItem(MyClass item);

此外,此方法不应具有返回类型,但我有警告"并非所有代码路径都返回值"。尝试使用void关键字,但似乎与Task关键字不在同一上下文中。

1 个答案:

答案 0 :(得分:2)

没有

不要让它变得更复杂。

Parallel.ForEach(myList, item => {  
   DoSomethingWithItem(item);
 }
);

void DoSomethingWithItem(MyClass item)完全没问题。

让它“更”异步是最难的,在最坏的情况下适得其反。