如何在Parallel.ForEach上执行函数?
Parallel.ForEach(listOfNames, name => DoSometingWithName(name));
而VS问我方法转换为组,而我不能,因为这种方法是从其他地方使用。所以我不想复制粘贴代码。
有没有办法?
由ReSharper引起的,因此没有它的人从未见过这条消息。我认为这是编译器错误。
优雅的相关工作将是:
Parallel.ForEach(listOfNames, DoSometingWithName);
不知道它是更具可读性,但。
而不是传递一个只调用一个函数的函数,而只是传递函数。少一个方法调用可能会稍微有效一些。 – 2011-12-20 09:59:56
这不是一种解决方法。如果您按Alt-Enter让他快速解决问题,ReSharper会做这件事 – 2011-12-25 16:51:42
不确定你的意思,但是你搜索这个语法吗?
Parallel.ForEach(listOfNames, name =>
{
//Place your code here.
DoSometingWithName(name);
});
这是我得到“转换为组方法警告”... – eugeneK 2011-12-20 07:39:12
你可以发布完整的警告消息?此代码的工作在我的侧没有任何警告.. Parallel.ForEach(源,currentString => { Console.WriteLine(currentString); } ); – 2011-12-20 07:42:04
如何定义“DoSomethingWithName”?这不是一个财产,是吗? ;) – 2011-12-20 07:42:57
你写的代码编译得非常好。你能否展示更多代码+编写从编译器获得的完整错误消息? – Svarog 2011-12-20 07:40:21
那么它可能是ReSharper造成这个问题... – eugeneK 2011-12-20 07:42:19