C# 我应该如何异步使用Directory.EnumerateFileSystemEntries()?
我正在VS2012中使用C#和.NET4.5创建一个项目。我需要遍历目录树,但我希望异步地进行。我想我必须对任务类做些什么,但我不确定。我还需要能够报告进程的进度。只需将整个函数包装在C# 我应该如何异步使用Directory.EnumerateFileSystemEntries()?,c#,async-await,C#,Async Await,我正在VS2012中使用C#和.NET4.5创建一个项目。我需要遍历目录树,但我希望异步地进行。我想我必须对任务类做些什么,但我不确定。我还需要能够报告进程的进度。只需将整个函数包装在Task.Run(()=>{…})中即可
Task.Run(()=>{…})中即可它将在线程池线程中异步运行。您可以使用。它非常有用,因为它可以实现RunWorkerProgress
和RunWorkerCompleted
事件处理程序,您可以使用这些事件处理程序报告进度,并确定它何时完成处理。关于进度,您将无法仅使用方法Directory.EnumerateFileSystems()
(因为您不知道将有多少目录/文件),来估计已完成的部分工作,但您将能够向用户显示您已处理了多少路径(或类似路径).是否要使用IEnumerable
(如标题中所述)该目录。EnumerateFileSystemEntries()
调用返回或使用此方法异步遍历目录树?我要遍历目录。