我有这个代码用于排队任务将文件读入结果变量。但有时,一些文件被一起调用,因此,文本存储不正确。 在运行下一个foreach之前,如何让我的程序等到任务完成?
foreach (string path in paths)
{
result = "";
Task.Run(() =>
{
result = File.ReadAllBytes(path);
}.ContinueWith(x =>
{
result = result.remove(25);
}, TaskScheduler.FromCurrentSynchronizationContext());
}
答案 0 :(得分:0)
看起来你应该转过身来:
result = "";
Task.Run(() =>
{
foreach (string path in paths)
{
result = File.ReadAllBytes(path);
}
}.ContinueWith(x =>
{
result = result.remove(25);
}, TaskScheduler.FromCurrentSynchronizationContext());
不确定"删除(25)"正在做,所以留在最后,但也许这也应该在foreach循环中移动。