c# Не получается вытащить названия папок с Directory.GetDirectories(path)
Требуется вытащить только названия папок. Делать рекурсию, возвращать вложенные папки, имена файлов и пути - не нужно.
private static List<string> AllFolders(string FolderPath)
{
List<string> folders = new List<string>();
foreach (var d in Directory.GetDirectories(FolderPath))
{
var dir = new DirectoryInfo(d);
var dirName = dir.Name;
folders.Add(dirName);
Console.WriteLine(folders);
}
Console.WriteLine("folders: ", folders);
return folders;
}
Несложная задача, но если надо получить вывод в консоль. Если требуется return то работающих примеров я не видел.
В цикле в консоль выводится то что нужно, при дебаге это тоже видно - folders наполняется. Но итоговый список будет пустым либо вернёт
`Directory.GetDirectories System.Collections.Generic.List`1[System.String]`
Если вынести список на верхний уровень - результат тот же.
Эту задачу (список через return) вообще можно решить?
И если нет, то как можно ли получить одним списком все папки заданной директории?
Ответы (1 шт):
Directory.GetDirectories(path) уже вам возвращает массив который достаточно превратить в список с помощью ToList()
К слову, дебажить в консоли так себе идея. Вы можете делать точки остановки и смотреть значения переменных
private static List<string> GetDirectories(string directory)
{
return Directory.GetDirectories(directory).ToList();
}