c# - 使用 System.IO.SearchOption.AllDirectories 时出错

标签 c# .net

我的代码

 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/

相关文章:

c# - 无法在窗口上设置自定义位置

c# - 为什么同一属性的两个不同实例在这里相等?

C# Registry SetValue 抛出 UnauthorizedAccessException

C#:如何防止笔记本电脑进入待机状态

.net - 如何在 .NET 中操作 VB6 集合?

c# - 将 UTC/GMT 时间转换为本地时间

.net - F# 多态性

c# - 问题为元素 'ImageParameters' 不能包含子元素 'ImageParameter'

c# - 为什么在将 SQLite Nuget 包添加到 LINQPad 时出现 DllNotFoundException?

c# - 匹配方法内容的正则表达式