检查给定目录中是否存在任何目录

本文关键字:是否 存在 任何目 检查 | 更新日期: 2023-09-27 18:26:06

我的应用程序是Windows,C#3.0。我想确保给定的目录不包含子目录。像这样的天真代码

if (Directory.GetDirectories(path).Length != 0)

在包含例如10000个子目录的目录上工作非常慢,因为它将建立一个子目录列表,而即使是一个目录对我来说也足够了。

在.NET中有没有一种方法可以快速确定1个子目录?

检查给定目录中是否存在任何目录

if (Directory.EnumerateDirectories().Any())

EnumerateDirectories将仅在您枚举返回的序列时返回目录(延迟执行)。

使用函数重载,这将只查找当前目录中的目录,而不是整个树:

if (Directory.GetDirectories(path, "*.*", SearchOption.TopDirectoryOnly).Length != 0)