排队任务。运行

时间:2015-09-22 16:01:57

标签: c# .net

我有这个代码用于排队任务将文件读入结果变量。但有时,一些文件被一起调用,因此,文本存储不正确。 在运行下一个foreach之前,如何让我的程序等到任务完成?

foreach (string path in paths)
{
    result = "";
    Task.Run(() =>
    {
      result = File.ReadAllBytes(path);
    }.ContinueWith(x =>
           {
              result = result.remove(25);
           }, TaskScheduler.FromCurrentSynchronizationContext());

 }

1 个答案:

答案 0 :(得分:0)

看起来你应该转过身来:

    result = "";
    Task.Run(() =>
    {
        foreach (string path in paths)
        {
            result = File.ReadAllBytes(path);
        }
    }.ContinueWith(x =>
    {
        result = result.remove(25);
    }, TaskScheduler.FromCurrentSynchronizationContext());

不确定"删除(25)"正在做,所以留在最后,但也许这也应该在foreach循环中移动。