Как вы получаете последнюю папку / каталог из пользовательского ввода независимо от того, является ли ввод пути к папке или файлу?Это когда соответствующая папка / файл может не существовать.
C: \ Users \ Public \ Desktop \ workspace \ page0320.xml
C: \ Users \ Public \ Desktop\ workspace
Я пытаюсь извлечь папку «workspace» из обоих примеров, даже если папка «workspace» или файл «page0320.xml» не существует.
РЕДАКТИРОВАТЬ: Используя предложение BrokenGlass, я получил его на работу.
String path = @"C:\Users\Public\Desktop\workspace";
String path2 = @"C:\Users\Public\Desktop\workspace\";
String path3 = @"C:\Users\Public\Desktop\workspace\page0320.xml";
String fileName = path.Split(new char[] { '\\' }).Last<String>().Split(new char[] { '/' }).Last<String>();
if (fileName.Contains(".") == false)
{
path += @"\";
}
path = Path.GetDirectoryName(path);
Вы можете заменить любую переменную пути, и на выходе будет:
C:\Users\Public\Desktop\workspace
Конечно,это работает при условии, что файлы имеют расширения.К счастью, это предположение работает для моих целей.
Спасибо всем.Был давним скрытником и новым постером.Это было действительно впечатляющим, насколько быстро и полезно были ответы: D