1
        string[] files = Directory.GetFiles(tb_dir.Text, tb_filter.Text, SearchOption.AllDirectories);

我正在尝试搜索目录和所有子目录以查找某些文件。我一直遇到当前代码的错误,即它看到无法进入的内容的第二个错误

在这个无关紧要的应用程序中,我宁愿继续前进。有没有办法绕过这段代码每次都被丢弃?

谢谢

崩溃893

4

1 回答 1

1

你可以这样做:

List<string> GetFiles(string topDirectory, string filter)
{
    List<string> list = new List<string>();
    list.AddRange(Directory.GetFiles(topDirectory, filter));
    foreach (string directory in Directory.GetDirectories(topDirectory))
    {
        list.AddRange(GetFiles(directory));
    }
    return list;
}

并调用它:

List<string> files = GetFiles(tb_dir.Text, tb_filter.Text);

当然,您可以将文件列表转换为数组。

您必须添加 try catch 块来处理 UnauthorizedAccessException。

于 2010-11-08T20:06:07.760 回答