我的代码

 DirectoryInfo[] dirstring = dir.GetDirectories(SearchTextbox.Text, System.IO.SearchOption.AllDirectories);
            FileInfo[] fileinfo = dir.GetFiles(SearchTextbox.Text, System.IO.SearchOption.AllDirectories);
dir=@"D:\";
有异常 UnauthorizedAccessException 的错误
我怎样才能捕获它并继续在其他文件夹和文件中搜索。

最佳答案

当您从驱动器的根目录启动时,您无法执行此操作。您不可避免地会遇到用户没有列表访问权限的目录。例如,“系统卷信息”目录,甚至管理员帐户都无法访问此目录。

您将不得不放弃 SearchOption.AllDirectories 选项并一次递归一个目录的目录树,以便您可以捕获访问异常。有关示例代码,请参阅 this question

关于c# - 使用 System.IO.SearchOption.AllDirectories 时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5764351/

10-13 06:27