Reputation: 1367
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?
Upvotes: 0
Views: 1240
Reputation: 1146
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)
Upvotes: 1
Reputation: 887195
if (Directory.EnumerateDirectories().Any())
EnumerateDirectories
will return directories only as you enumerate the returned sequence (deferred execution).
Upvotes: 3