Создание вложенных папок - C#
Формулировка задачи:
Здравствуйте, хотел бы попросить как-нибудь оптимизировать код.
Задача сама: создать 10 папок, в каждой из их по 9 подпапок, далее в каждой по 8 подпапок и т.д. до еденицы
Сама функция:
Это всего до 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);
- }
- }
- }
- }
Решение задачи: «Создание вложенных папок»
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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д