前提・実現したいこと
2つのフォルダーがあってその中のcsvファイルを取得し、
そのcsvファイルに対して処理をしたいです。
タスクを利用している理由としてはこれらの処理を
フォルダーごとに並列処理がしたいのです。
発生している問題・エラーメッセージ
9行目のTask.Run()に入ったところでエラーになります。 デバッグで確認するとi=2(folders.Length)になっていて for文ではi<folders.Lengthなので0と1にしかならないと思ってます。 エラーメッセージ IndexOutOfRangeException インデックスが配列の境界外です
該当のソースコード
C# ソースコード string[] folders = new string[2], files = new string[100]; private Task Run_Task() { var tasks = new List<Task>(); for (int i = 0; i < folders.Length; i++) { var task = Task.Run(() => { files = Directory.GetFiles(folders[i], "*.csv"); //取得したcsvファイルに対する処理 }); tasks.Add(task); } return Task.WhenAll(tasks); }
試したこと
補足情報(FW/ツールのバージョンなど)
VisualStudio2017
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/08 01:00