Этот вопрос уже имеет ответ здесь:
Я ищу что-то сродни Path.Combine
метод, который поможет мне правильно объединить полные и относительные пути. Например, я хочу
Path.Combine(@"c:\alpha\beta", @"..\gamma");
уступить c:\alpha\gamma
вместо c:\alpha\..\gamma
как Path.Combine
делает. Есть ли какой-либо простой способ выполнить это? Само собой разумеется, я также хочу к периоду .
путь или несколько ..
пути (например, ..\..\
) работать правильно.
Использование Path.getfullPath
string path = Path.Combine(@"c:\alpha\beta", @"..\gamma");
Console.WriteLine(Path.GetFullPath(path));
или класс
или
класс:
string path = Path.Combine(@"c:\alpha\beta", @"..\gamma");
DirectoryInfo info = new DirectoryInfo(path);
Console.WriteLine(info.FullName);
Оба выводятся:
c:\alpha\gamma
Вы можете позвонить Path.getfullPath для решения этого.
Например, этот код:
string path = Path.Combine(@"c:\alpha\beta", @"..\gamma");
Console.WriteLine(path);
path = Path.GetFullPath(path);
Console.WriteLine(path);
будет печать:
c:\alpha\beta\..\gamma
c:\alpha\gamma
Вы можете использовать комбинацию 2 называется так:
string path = Path.Combine(@"c:\alpha\beta", @"..\gamma");
string result = Path.GetFullPath(path);
И это должно дать вам результаты, которые вы ищете.
Вы, вероятно, можете выполнить path.com, за которым следует путь. Gtefullpath.