6 .net file-io attributes getdirectories directoryinfo
我使用DirectoryInfo.GetDirectories()递归方式查找给定路径下的所有子目录.但是,我想排除系统文件夹,没有明确的方法.在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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
MSDN链接:
| 归档时间: |
|
| 查看次数: |
6361 次 |
| 最近记录: |