大家早上好 我有一个文件夹,其中包含数千个不同深度的子目录。我需要列出所有不包含子目录的目录(众所周知的“行尾”)。如果它们包含文件就可以了。有没有办法用 EnumerateDirectories 做到这一点?
例如,如果返回一个完全递归的 EnumerateDirectories:
/files/
/files/q
/files/q/1
/files/q/2
/files/q/2/examples
/files/7
/files/7/eb
/files/7/eb/s
/files/7/eb/s/t
我只对:
/files/q/1
/files/q/2/examples
/files/7/eb/s/t
最佳答案
这应该有效:
var folderWithoutSubfolder = Directory.EnumerateDirectories(root, "*.*", SearchOption.AllDirectories)
.Where(f => !Directory.EnumerateDirectories(f, "*.*", SearchOption.TopDirectoryOnly).Any());
关于C# 使用 EnumerateDirectories 列出所有 "leaf"子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17809306/