Создание вложенных папок - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, хотел бы попросить как-нибудь оптимизировать код. Задача сама: создать 10 папок, в каждой из их по 9 подпапок, далее в каждой по 8 подпапок и т.д. до еденицы Сама функция:
void create(string path, int count)
        {
            string f, b, c;
            for (int i = 1; i <= count; i++)
            {
                f = path + "//" + i;
                Directory.CreateDirectory(f);
                for (int j = 1; j <= i - 1; j++)
                {
                    b = f + "//" + j;
                    Directory.CreateDirectory(b);
                    for (int x = 1; x <= j - 1; x++)
                    {
                        c = path + "//" + j;
                        Directory.CreateDirectory(c);
                    }
                }
            }
        }
Это всего до 8 подпапок дошел. В итоге будет слишком громоздко, можно как-нибудь упростить данную задачу? Пробовал через рекурсию - не очень получается. Спасибо всем за ответы!

Решение задачи: «Создание вложенных папок»

textual
Листинг программы
using System.Collections.Generic;
using System.IO;
 
class TreeFolders
{
    private static Stack<string> folders;
 
    public TreeFolders(string path)
    {
        folders = new Stack<string>();
        folders.Push(path);
    }
 
    public void CreateTreeFolders(int numberFolders)
    {
        if (numberFolders != 0)
        {
            string folder = folders.Pop();
 
            for (int i = 1; i <= numberFolders; i++)
            {
                string path = folder + "\\" + i;
                Directory.CreateDirectory(path);
                folders.Push(path);
                CreateTreeFolders(numberFolders - 1);
            }
        }
    }
}
 
 
class Base
{
    static void Main()
    {
        TreeFolders treeFolders = new TreeFolders(Directory.GetCurrentDirectory());
        treeFolders.CreateTreeFolders(10);
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.583 из 5
Похожие ответы