【问题标题】:Directory.GetFiles with SearchOption or recursive search when searching directory tree搜索目录树时使用 SearchOption 或递归搜索的 Directory.GetFiles
【发布时间】:2013-10-21 16:29:55
【问题描述】:

在目录树(文件夹和所有子文件夹)中搜索文件时,这样做的有效区别是什么:

Directory.GetFiles(root, "*", SearchOption.AllDirectories);

并使用

进行自己的递归搜索

Directory.GetFiles(root) 和 Directory.GetDirectories(root)

使用每种方法的优缺点是什么,哪种方法适合哪种用例? 谢谢。

【问题讨论】:

    标签: c# .net recursion directory subdirectory


    【解决方案1】:

    在这种情况下,您可能想要“滚动您自己的”递归的主要原因可能是您希望能够在长文件搜索期间设置自定义进度更新/通知用户。

    如果您从一开始就将所有内容都交给框架方法,这是不可能的。

    【讨论】:

    • 另一种使用自己的递归的情况是进程可能无法访问某些子目录(如answer 中所述)。
    • @JeffBridgman:好点。基本上,如果您想对搜索过程进行细粒度控制!提供的默认值适用于大多数用途,但对某些应用程序有更多控制权是件好事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 2013-06-17
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多