首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何结合URI

如何结合URI
EN

Stack Overflow用户
提问于 2009-05-19 22:39:15
回答 4查看 20.7K关注 0票数 22

我有两个Uri对象传递到一些代码中,一个是目录,另一个是文件名(或相对路径)。

代码语言:javascript
运行
复制
var a = new Uri("file:///C:/Some/Dirs");
var b = new Uri("some.file");

当我试着像这样组合它们时:

代码语言:javascript
运行
复制
var c = new Uri(a,b);

我得到了

file:///C:/Some/some.file

在这里,我希望获得与Path.Combine相同的效果(因为这是我需要替换的旧代码):

file:///C:/Some/Dirs/some.file

我想不出一个干净的解决办法。

丑陋的解决方案是在Uri不存在的情况下向Uri添加一个/

代码语言:javascript
运行
复制
string s = a.OriginalString;
if(s[s.Length-1] != '/')
   a = new Uri(s + "/");
EN

回答 4

Stack Overflow用户

发布于 2012-04-28 16:41:05

这应该对你有好处:

代码语言:javascript
运行
复制
var baseUri = new Uri("http://www.briankeating.net");
var absoluteUri = new Uri(baseUri, "/api/GetDefinitions");

这个构造函数遵循标准的相对URI规则,因此/很重要:

  • http://example.net + foo = http://example.net/foo
  • http://example.net/foo/bar + baz = http://example.net/foo/baz
  • http://example.net/foo/ + bar = http://example.net/foo/bar
  • http://example.net/foo + bar = http://example.net/bar
  • http://example.net/foo/bar/ + /baz = http://example.net/baz
票数 26
EN

Stack Overflow用户

发布于 2010-05-14 10:27:34

您可以尝试这个扩展方法!总是工作!-)

代码语言:javascript
运行
复制
 public static class StringExtension
    {
        public static string UriCombine(this string str, string param)
        {
            if (!str.EndsWith("/"))
            {
                str = str + "/";
            }
            var uri = new Uri(str);
            return new Uri(uri, param).AbsoluteUri;
        }
    }

安杰洛·阿莱桑德罗

票数 5
EN

Stack Overflow用户

发布于 2009-05-19 22:42:13

添加第一个uri的斜杠结束,URI将忽略多个斜杠(/)

代码语言:javascript
运行
复制
var a = new Uri("file:///C:/Some/Dirs/");

编辑:

代码语言:javascript
运行
复制
var a = new Uri("file:///C:/Some/Dirs");
var b = new Uri("some.file",  UriKind.Relative);
var c = new Uri(Path.Combine(a.ToString(), b.ToString()));
MessageBox.Show(c.AbsoluteUri);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/885373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档