我正在使用 C# 和 .Net 4.5 在 VS 2012 中创建一个项目。我需要遍历目录树,但我想异步进行。我想我必须对 Task 类做点什么,但我不确定。我还需要能够报告该过程的进展。
问问题
675 次
2 回答
2
只需将整个函数包装进去Task.Run(()=>{ ... });
,它将在线程池线程中异步运行。
于 2012-11-21T16:59:00.093 回答
0
你可以使用BackgroundWorker
. 它非常有用,因为它可以实现RunWorkerProgress
事件RunWorkerCompleted
处理程序,您可以使用它们来报告进度并找出它何时完成处理。关于进度,您将无法估计仅使用方法完成的工作部分Directory.EnumerateFileSystemEntries()
(因为您不知道会有多少目录/文件),但您将能够向用户展示您处理了多少条路径(或类似路径)。
于 2012-11-21T17:14:38.547 回答