Как ограничить глубину рекурсивного поиска в подкаталогеC#

Место общения программистов C#
Ответить
Anonymous
 Как ограничить глубину рекурсивного поиска в подкаталоге

Сообщение Anonymous »

У меня есть функция, которая в настоящее время захватывает все папки и подпапки для проверки ACL на наличие небольшого инструмента, который я создаю, но я дергаю за волосы, пытаясь понять, как ограничить глубину, на которую он может зайти. Например, у вас есть папка глубиной 4 уровня, но я хочу иметь возможность захватывать только 3 ее уровня для ACL.

В настоящее время я закодировал ее следующим образом:

Код: Выделить всё

private void StepThroughDirectories(string dir)
{
string[] directories = Directory.GetDirectories(dir);
try
{
foreach (string d in Directory.GetDirectories(dir))
{
if (recCount < (int)Depth)
{
GetACLs(d, new DirectoryInfo(d));
pBar.Value += 1;
//MessageBox.Show("Recursive Level: " + counter.ToString());
recCount++;
StepThroughDirectories(d);
}
else
{
recCount--;
}
}
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
}
Очевидно, это не так хорошо, как раньше, потому что я уже некоторое время работаю над этой проблемой, но если кто-нибудь может указать мне правильное направление для решения этой проблемы, я буду очень рад!

Подробнее здесь: https://stackoverflow.com/questions/387 ... ory-search
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»