Получить количество подпапок (только верхний уровень)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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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