C # FolderBrowserDialog: получение только имени выбранной папки

#c#

#c#

Вопрос:

Как указано в названии, мне нужно получить последнюю папку в строке, которую создает мой диалог открытия папки, когда пользователь выбирает папку. Например:

 String folder;
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.RootFolder = System.Environment.SpecialFolder.MyComputer;
if (fbd.ShowDialog() == DialogResult.OK)
{
    folder = fbd.SelectedPath;
}
  

Я хочу обрезать все до последнего «», чтобы оставить мне имя выбранной папки. Спасибо за любую помощь

Ответ №1:

Вы можете использовать Path.GetFileName для этого:

 folder = Path.GetFileName(fbd.SelectedPath);
  

Это может показаться нелогичным, но Path.GetFileName() возвращает весь текст справа от разделителя конечного пути.

Ответ №2:

Альтернативой ответу Дэвида является:

 folder = new DirectoryInfo(fbd.SelectedPath).Name;
  

Это, на мой взгляд, легче читать, но имеет тот недостаток, что для этого необходимо создать дополнительный объект (the DirectioryInfo ).

Комментарии:

1. @Steve, действительно так и есть. Спасибо.