I have two Uri objects passed into some code, one is a directory and the other is a filename (or a relative path)
var a = new Uri("file:///C:/Some/Dirs");
var b = new Uri("some.file");
when I try and combine them like this:
var c = new Uri(a,b);
I get
file:///C:/Some/some.file
where I wold expect to get the same effect as with Path.Combine
(as that is the old code I need to replace):
file:///C:/Some/Dirs/some.file
I can't think of a clean solution to this.
The ugly solution being to add a /
to the Uri if it's not there
string s = a.OriginalString;
if(s[s.Length-1] != '/')
a = new Uri(s + "/");
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…