我的应用程序是Windows,C#3.0。我想确保给定的目录不包含子目录。像
这样的朴素代码if (Directory.GetDirectories(path).Length != 0)
对包含例如的目录的工作速度非常慢10000个子目录,因为它将构建一个子目录列表,而即使是1个目录已经足够我了。
.NET中有没有办法快速确定1个子目录?
答案 0 :(得分:3)
if (Directory.EnumerateDirectories().Any())
只有在枚举返回的序列(延迟执行)时, EnumerateDirectories
才会返回目录。
答案 1 :(得分:1)
使用函数重载只会查找当前目录中的目录,而不是整个树:
if (Directory.GetDirectories(path, "*.*", SearchOption.TopDirectoryOnly).Length != 0)