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