gpt4 book ai didi

c# - 递归搜索目录 n 个目录深度

转载 作者:行者123 更新时间:2023-11-30 15:53:52 26 4
gpt4 key购买 nike

我正在寻找一种方法来查找具有特定扩展名的目录中的所有文件。

我正在使用以下代码:

string dir = "C:\temp"
FileInfo[] fsis = new DirectoryInfo(dir).GetFiles("*.cfg", SearchOption.AllDirectories);

问题是某些目录包含许多嵌套目录,因此需要很长时间。假设我知道所有 .cfg 文件最多只有 n 个目录,有什么方法可以修改上面的代码以仅搜索那么远,还是我必须从头开始编写我自己的递归文件查找器?

最佳答案

List<FileInfo> FindFiles(List<FileInfo> results, string dir, int depth)
{
// Get all cfg files in current directory
results.AddRange(new DirectoryInfo(dir).GetFiles("*.cfg"));

if(depth > 1)
{
// Recurse in all subdirectories
foreach (DirectoryInfo d in new DirectoryInfo(dir).GetDirectories())
{
// But dont go as deep in those subdirectories
FindFiles(results, d.FullName, depth - 1);
}
}
return results;
}

然后你就可以打电话了

List<FileInfo> = FindFiles(new List<FileInfo>(), "C:\Example", 5);

关于c# - 递归搜索目录 n 个目录深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51659773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com