У меня есть два объекта Uri, переданные в некоторый код, один - это каталог, а другой - имя файла (или относительный путь)
var a = new Uri("file:///C:/Some/Dirs");
var b = new Uri("some.file");
когда я пытаюсь объединить их следующим образом:
var c = new Uri(a,b);
Я получаю
file:///C:/Some/some.file
где я wold ожидаю получить тот же эффект, что и с Path.Combine
(так как это старый код, который мне нужно заменить):
file:///C:/Some/Dirs/some.file
Я не могу придумать для этого чистого решения.
Уродливое решение состоит в том, чтобы добавить a /
в Uri, если он не существует
string s = a.OriginalString;
if(s[s.Length-1] != '/')
a = new Uri(s + "/");