繁体   English   中英

排队任务。运行

[英]Queuing the task.Run

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

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

 }

看来你应该扭转局面:

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

不确定“remove(25)”在做什么,所以把它放在最后,但也许它也应该在 foreach 循环中移动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM