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

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

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

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

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

textual
Листинг программы
  1. using System.Collections.Generic;
  2. using System.IO;
  3.  
  4. class TreeFolders
  5. {
  6.     private static Stack<string> folders;
  7.  
  8.     public TreeFolders(string path)
  9.     {
  10.         folders = new Stack<string>();
  11.         folders.Push(path);
  12.     }
  13.  
  14.     public void CreateTreeFolders(int numberFolders)
  15.     {
  16.         if (numberFolders != 0)
  17.         {
  18.             string folder = folders.Pop();
  19.  
  20.             for (int i = 1; i <= numberFolders; i++)
  21.             {
  22.                 string path = folder + "\\" + i;
  23.                 Directory.CreateDirectory(path);
  24.                 folders.Push(path);
  25.                 CreateTreeFolders(numberFolders - 1);
  26.             }
  27.         }
  28.     }
  29. }
  30.  
  31.  
  32. class Base
  33. {
  34.     static void Main()
  35.     {
  36.         TreeFolders treeFolders = new TreeFolders(Directory.GetCurrentDirectory());
  37.         treeFolders.CreateTreeFolders(10);
  38.     }
  39. }

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


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

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

12   голосов , оценка 4.583 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы