我想将Parallel.ForEach
与List
一起使用,但我不能这样做。
这是我目前的代码:
class Test1
{
public static List<string> myList = new List<string>();
public object myListToArray()
{
return myList.ToArray();
}
}
class Test2
{
public void Test(){
Task.Factory.StartNew(() => Parallel.ForEach(new Test1().myListToArray(), new ParallelOptions { MaxDegreeOfParallelism = 250 }, foo =>
{
// do stuff
}));
}
}
我收到了这个错误:
无法派生'Parallel.ForEach'方法的类型参数 从使用。尝试明确指定类型参数。
我该如何解决?
答案 0 :(得分:0)
您现有的代码无效,因为Parallel.ForEach
不知道如何迭代object
(上面的代码)/ ArrayList
(原帖中的代码)
public void Test(){
Task.Factory.StartNew(() => Parallel.ForEach(Test1.myList, new ParallelOptions { MaxDegreeOfParallelism = 250 }, foo =>
{
// do stuff
}));
将有效,因为myList
是通用List
,Parallel.ForEach
知道如何处理。