Получить количество подпапок (только верхний уровень)C#

Место общения программистов C#
Anonymous
Получить количество подпапок (только верхний уровень)

Сообщение Anonymous »

У меня есть текстовый файл с путями к папкам, который выглядит следующим образом

Код: Выделить всё

Folder1
Folder1/SubFolder1
Folder1/SubFolder1/SubSubFolder1
Folder1/SubFolder1/SubSubFolder2
Folder1/SubFolder1/SubSubFolder3
Folder1/SubFolder1/SubSubFolder4
Folder1/SubFolder2
Folder1/SubFolder2/SubSubFolder1
Folder1/SubFolder2/SubSubFolder2
Folder1/SubFolder2/SubSubFolder3
Folder1/SubFolder2/SubSubFolder4
Folder1/SubFolder2/SubSubFolder5
Folder1/SubFolder2/SubSubFolder6
Folder1/SubFolder2/SubSubFolder6/SubSubSubFolder1
Folder1/SubFolder3
Folder2
Folder2/SubFolder1
Folder2/SubFolder1/SubSubFolder1
Folder2/SubFolder1/SubSubFolder2
Folder2/SubFolder1/SubSubFolder3
Folder2/SubFolder1/SubSubFolder4
Folder2/SubFolder2
Folder2/SubFolder2/SubSubFolder1
Folder2/SubFolder2/SubSubFolder2
Folder2/SubFolder2/SubSubFolder3
Folder2/SubFolder2/SubSubFolder4
Folder2/SubFolder2/SubSubFolder5
Folder2/SubFolder2/SubSubFolder6
Folder2/SubFolder2/SubSubFolder7
Folder2/SubFolder2/SubSubFolder6/SubSubSubFolder1
Folder2/SubFolder3
Folder2/SubFolder4
Теперь мне нужен словарь строк и целых чисел, в котором сохраняется имя папки и количество
количества файлов/папок в ней (только верхний уровень)

Код: Выделить всё

Folder1, 3                  // SubFolder1, SubFolder2, SubFolder3
Folder1/SubFolder1,4            // SubSubFolder1, SubSubFolder2, SubSubFolder3,
SubSubFolder4/Folder1/SubFolder2,6           // SubSubFolder1, SubSubFolder2, SubSubFolder3, SubSubFolder4, SubSubFolder5, SubSubFolder6
Folder1/SubFolder2/SubSubFolder6,1         //SubSubSubFolder1
Folder1/SubFolder3,0
Folder2,4                // SubFolder1, SubFolder2, SubFolder3, SubFolder4
Folder2/SubFolder1,4        // SubSubFolder1, SubSubFolder2, SubSubFolder3, SubSubFolder4
Folder2/SubFolder2,7       // SubSubFolder1, SubSubFolder2, SubSubFolder3, SubSubFolder4, SubSubFolder5, SubSubFolder6, SubSubFolder7
Folder2/SubFolder2/SubSubFolder6,1             //SubSubSubFolder1
Folder2/SubFolder3,0
Folder2/SubFolder4,0
Я могу перебрать все строки, но думаю, это будет немного сложно и запутанно

Код: Выделить всё

 foreach (var line in allLines)
{
var subFolderCount = 0;
var subFolderPath = Path.Combine(folderPath, line);
//...
}
но мне интересно, есть ли более простой и эффективный способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -top-level

Вернуться в «C#»