最近、MP3 ファイルにタグを付けるための「クイック」Windows フォーム アプリを作成することにしました。.Net 3.0 以降、並列処理については何も行っていないため、標準の foreach ステートメントを使用しているときに発生する UI ロックを処理する Parallel.ForEach メソッドを調べています。ここに抜粋があります:
var i = 1;
var files = new List<string>(); // File list is populated using recursive method.
foreach(var f in files) {
// Add a row
var row = dgvList.Rows[dgvList.Rows.Add()];
// Update label
lblSummary.Text = string.Concat("Processing... ", i);
// Do things with row
// Increment progress bar
progressBar.PerformStep();
i++;
}
Parallel.ForEach() の簡単な使用法を理解しましたが、その特定のメソッドを使用して UI を更新する必要があるかどうかわかりません。助言がありますか?