item -> будет содержать весь каталог, так что выполнение toString не подходит, если вы хотите только имя папки / вложенной папки
посмотрите, есть ли метод "Name", который вы можете использовать, вызвав его как item.Name в console.WriteLine () вместо item.toString ()
foreach (var item in Dirs)
{
Console.WriteLine("The folders:{0}", item.Name());
}
или вы можете сделать это: Получение имени папки из пути
Возможно, я бы использовал что-то вроде:
string path = "C:/folder1/folder2/file.txt";
string lastFolderName = Path.GetFileName( Path.GetDirectoryName( path ) );
Внутренний вызов GetDirectoryName вернет полный путь, а внешний вызов GetFileName () вернет последний компонент пути - это будет имя папки.
Этот подход работает независимо от того, существует ли путь на самом деле. Этот подход, однако, опирается на путь, изначально заканчивающийся именем файла. Если неизвестно, заканчивается ли путь в имени файла или имени папки - тогда необходимо проверить фактический путь, чтобы увидеть, существует ли сначала файл / папка в этом месте.