Хорошо
Directory.GetDirectories(root);
вернет вам массив подкаталогов.
Затем вы можете использовать Linq, чтобы найти тот, который вас интересует:
IEnumerable<string> list = Directory.GetDirectories(root).Where(s => s.Equals("test"));
, который не является циклом в вашем коде, но все же является циклом. Таким образом, окончательный ответ таков: «Нет, вы не можете найти папку« test »без циклов».
Вы можете добавить .SingleOrDefault()
к Linq, но это будет зависеть от того, что вы хотите сделать, если ваша «тестовая» папка не будет найдена.
Если вы измените вызов GetDirectories
, чтобы включить SearchOption SearchOption.AllDirectories
, то он также сделает рекурсию для вас. Очевидно, что в этом случае вызов может вернуть более одного элемента, если в вашем дереве каталогов было несколько папок с именем «test».