Ich möchte Parallel.ForEach
mit einem List
verwenden, aber ich kann es nicht tun.Wie Parallel.ForEach mit einer Liste zu verwenden?
Hier ist mein aktueller Code:
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
}));
}
}
Ich erhalte diese Fehlermeldung:
Unable to derive the type arguments for the 'Parallel.ForEach' method from use. Try to specify the type arguments explicitly.
Wie kann ich es beheben?
Warum verwenden Sie 'ArrayList' anstatt' List '? Hilft https://social.msdn.microsoft.com/Forums/vstudio/en-US/8c29c33b-840d-4255-bb23-2237b5e64d02/how-to-use-parallelfore-ach-against-arraylist?forum=parallelextensions? –
mjwills
Sie sind wirklich mit dem Array gefangen, mit dem Sie gut sein sollten. ToList() – BugFinder
Ich stimme mit @mjwills überein, dass Sie eine 'ArrayList' in diesen Tagen nicht mehr verwenden sollten, ursprünglich kommt dies aus einer Zeit, als eine 'Liste' nicht existiert. Die 'Liste ' hat einige Vorteile und Eigenschaften, die die 'ArrayList' nicht bieten kann. –