На основании ответа Håvard, но немного короче (и, возможно, немного легче читать, потому что он использует !Subdirs.Any()
вместо Subdirs.Length == 0
):
static IEnumerable<string> GetSubdirectoriesContainingOnlyFiles(string path)
{
return Directory.GetDirectories(path, "*", SearchOption.AllDirectories)
.Where(subdir => !Directory.GetDirectories(subdir).Any());
}
Также обратите внимание, что для этого требуется using System.Linq;
к поскольку он использует язык запросов LINQ. (И, конечно, using System.IO;
для Directory
класс :))
Боюсь, я не понимаю бит в скобках вообще - не могли бы вы его переписать? –