C# 在Parallel.ForEach循环中使用方法

C# 在Parallel.ForEach循环中使用方法,c#,.net,task,parallel.foreach,C#,.net,Task,Parallel.foreach,我应该使用Parallel.ForEach循环,内部应该有对方法的调用 Parallel.ForEach(myList, item => { DoSomethingWithItem(item); } ); 该方法应该是Task还是其他方法 private Task DoSomethingWithItem(MyClass item); 此外,这个方法不应该有返回类型,但我有一个警告“并非所有代码路径都返回一个值”。试图将void关键字放入,但它似乎与Task关键字不在同一上下

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

Parallel.ForEach(myList, item => {  
   DoSomethingWithItem(item);
 }
);
该方法应该是
Task
还是其他方法

private Task DoSomethingWithItem(MyClass item);
此外,这个方法不应该有返回类型,但我有一个警告“并非所有代码路径都返回一个值”。试图将
void
关键字放入,但它似乎与
Task
关键字不在同一上下文中。

否 不要把事情弄得过于复杂

Parallel.ForEach(myList, item => {  
   DoSomethingWithItem(item);
 }
);
对于
void DoSomethingWithItem(MyClass项)
来说,这是非常好的


使其“更”异步充其量是一种过分的做法,在最坏的情况下会适得其反。

如果
DoSomethingWithItem
应该执行的任务很少,这会有问题吗<代码>public void DoSomethingWithItem(MyClass项){var tasks=new Task[3];Task[0]=DoSomething1(项);Task[1]=DoSomething2(项);Task[2]=DoSomething3(项);}并行运行多个任务的语法是不正确的,但一般来说,如果您的方法想要启动多个任务并等待所有任务,那很好。