Другие ответчики показали лучший способ для достижения вашей цели. В целях дальнейшего расширения ваших знаний, я предлагаю вам в общем взглянуть на регулярные выражения для соответствия строк и их замены.
Я провел первые пару лет моей карьеры программиста-самоучки, выполняя самые запутанные из возможных манипуляций со строками, прежде чем понял, что кто-то другой уже решил все эти проблемы, и я взял копию Освоение регулярных выражений . Я настоятельно рекомендую это.
Один из способов удалить последний каталог - использовать следующее регулярное выражение:
tempDir = Regex.Match(tempDir, @".*(?=\\[^\\]+)\\?").Value;
Это может выглядеть загадочно, но это фактически удалит последний элемент из пути, независимо от его имени и независимо от того, есть ли еще \
в конце.