Check that any directory exists inside given one

2019-09-01 06:40发布

My application is Windows, C# 3.0. I want to make sure that a directory given does not contains subdirectories. Naive code like

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

will work very slow on directories which contain e.g. 10000 subdirectories, because it will build a list of subdirectories, while even 1 directory is already enough for me.

Is there a way in .NET to determine 1 subdirectory quickly?

2条回答
冷血范
2楼-- · 2019-09-01 07:08
if (Directory.EnumerateDirectories().Any())

EnumerateDirectories will return directories only as you enumerate the returned sequence (deferred execution).

查看更多
神经病院院长
3楼-- · 2019-09-01 07:11

Use the function overload this will only look for directories in the current directory, not the entire tree:

if (Directory.GetDirectories(path, "*.*", SearchOption.TopDirectoryOnly).Length != 0)
查看更多
登录 后发表回答