C# 我应该如何异步使用Directory.EnumerateFileSystemEntries()?

C# 我应该如何异步使用Directory.EnumerateFileSystemEntries()?,c#,async-await,C#,Async Await,我正在VS2012中使用C#和.NET4.5创建一个项目。我需要遍历目录树,但我希望异步地进行。我想我必须对任务类做些什么,但我不确定。我还需要能够报告进程的进度。只需将整个函数包装在Task.Run(()=>{…})中即可

我正在VS2012中使用C#和.NET4.5创建一个项目。我需要遍历目录树,但我希望异步地进行。我想我必须对任务类做些什么,但我不确定。我还需要能够报告进程的进度。

只需将整个函数包装在
Task.Run(()=>{…})中即可您可以使用。它非常有用,因为它可以实现
RunWorkerProgress
RunWorkerCompleted
事件处理程序,您可以使用这些事件处理程序报告进度,并确定它何时完成处理。关于进度,您将无法仅使用方法
Directory.EnumerateFileSystems()
(因为您不知道将有多少目录/文件),来估计已完成的部分工作,但您将能够向用户显示您已处理了多少路径(或类似路径).

是否要使用
IEnumerable
(如标题中所述)该
目录。EnumerateFileSystemEntries()
调用返回或使用此方法异步遍历目录树?我要遍历目录。