1

使用する場合foreachTasks次のようなローカル変数を使用する必要があります。

List<Task> TaskPool = new List<Task>();
foreach (TargetType Item in Source)
{
  TargetType localItem = Item;
  TaskPool.Add(Task.Factory.StartNew(() => DoSomething(localItem)));
}
Task.WaitAll(TaskPool.ToArray());

しかし、どうですかParallel.Foreach、私は次のように使用します:

Parallel.ForEach(Source, (TargetType item) => DoSomething(item));

したがって、ご覧のとおり、ローカル変数はありません。しかし、どのように機能しParallel.Foreachますか?ローカル変数を導入する必要はありませんか? または必要に応じて、どのように定義できますか?

アップデート

.NET 4 と .NET 4.5 に違いはありますか?

4

1 に答える 1