gpt4 book ai didi

.net - DirectoryInfo.GetDirectories() 和属性

转载 作者:行者123 更新时间:2023-12-04 13:56:19 25 4
gpt4 key购买 nike

我正在使用 DirectoryInfo.GetDirectories()递归查找给定路径下的所有子目录。
但是,我想排除 System 文件夹,并且没有明确的方法。
在 FindFirstFile/FindNextFile 中,属性更清晰。

最佳答案

@rslite 是对的,.NET 没有提供这种现成的过滤,但实现起来并不难:

static IEnumerable<string> GetNonSystemDirs(string path)
{
var dirs = from d in Directory.GetDirectories(path)
let inf = new DirectoryInfo(d)
where (inf.Attributes & FileAttributes.System) == 0
select d;

foreach (var dir in dirs)
{
yield return dir;
foreach (var subDir in GetNonSystemDirs(dir))
{
yield return subDir;
}
}
}

MSDN 链接:

FileSystemInfo.Attributes Property

FileAttributes Enumeration

关于.net - DirectoryInfo.GetDirectories() 和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/100721/

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