我有两个 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
我希望得到与 with 相同的效果Path.Combine
(因为这是我需要替换的旧代码):
file:///C:/Some/Dirs/some.file
我想不出一个干净的解决方案。
丑陋的解决方案是/
在 Uri 不存在时添加
string s = a.OriginalString;
if(s[s.Length-1] != '/')
a = new Uri(s + "/");