Задать вопрос

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

Добрый день.
Требуется помощь в написание метода генерации дерева для создания каталогов.
Пользователь указывает глубину и количество на уровне.
Никак не могу понять, как это сделать?
Пример чего требуется:
Глубина: 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.

Буду признателен любым советам или ссылкой!
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 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)
    {
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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