Генерация дерева для каталогов, рекурсия?

Добрый день.
Требуется помощь в написание метода генерации дерева для создания каталогов.
Пользователь указывает глубину и количество на уровне.
Никак не могу понять, как это сделать?
Пример чего требуется:
Глубина: 3.
Количество на уровне: 3.

На выходе хочу получить:
C:\folder_1;
C:\folder_1\folder_1_1;
C:\folder_1\folder_1_1\folder_1_1_1;
C:\folder_1\folder_1_1\folder_1_1_2;
C:\folder_1\folder_1_1\folder_1_1_3;
C:\folder_1\folder_1_2;
etc.

Буду признателен любым советам или ссылкой!
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
Ogoun
@Ogoun
Programmer
var list = new List<string>();
FillFolderList("C:\\", list, 0, 3, 3);


public static void FillFolderList(string path, List<string> list, int current_level, int depth, int width)
{
    list.Add(path);
    if (current_level >= depth) return;
    int current_width = 0;
    try
    {
        foreach (var subdir in Directory.GetDirectories(path))
        {
            FillFolderList(subdir, list, current_level + 1, depth, width);
            current_width++;
            if (current_width > width) break;
        }
    }
    catch (Exception)
    {
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы