Путь. Объединение и запись через точку [дубликат]

Этот вопрос уже имеет ответ здесь:

Я ищу что-то сродни Path.Combine метод, который поможет мне правильно объединить полные и относительные пути. Например, я хочу

Path.Combine(@"c:\alpha\beta", @"..\gamma");

уступить c:\alpha\gamma вместо c:\alpha\..\gamma как Path.Combine делает. Есть ли какой-либо простой способ выполнить это? Само собой разумеется, я также хочу к периоду . путь или несколько .. пути (например, ..\..\) работать правильно.

40
задан Dmitri Nesteruk 27 January 2010 в 18:20
поделиться

4 ответа

Использование 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
65
ответ дан 27 November 2019 в 01:30
поделиться

Вы можете позвонить 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
3
ответ дан 27 November 2019 в 01:30
поделиться

Вы можете использовать комбинацию 2 называется так:

string path = Path.Combine(@"c:\alpha\beta", @"..\gamma");
string result = Path.GetFullPath(path);

И это должно дать вам результаты, которые вы ищете.

6
ответ дан 27 November 2019 в 01:30
поделиться

Вы, вероятно, можете выполнить path.com, за которым следует путь. Gtefullpath.

8
ответ дан 27 November 2019 в 01:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: