[英]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.