我有两个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不存在的情况下向Uri添加一个/
string s = a.OriginalString;
if(s[s.Length-1] != '/')
a = new Uri(s + "/");发布于 2009-05-19 22:56:24
为什么不直接从Uri继承并使用它呢?在构造函数中,您需要做些什么来修复它?重构是很便宜的,假设这是装配内部的或者可以实现的。
https://stackoverflow.com/questions/885373
复制相似问题