var baseUri = new Uri("http://localhost/");
var uri1 = new Uri(baseUri, "1");
var uri2 = new Uri(uri1, "2");
出乎意料的是, uri2
是HTTP://本地主机/ 2 。 我怎么会追加到uri1
所以它的http://本地主机/ 1/2这一翻译? 是否Uri
做到这一点,或者我需要退回到字符串? 顺便说一句,我已经尝试添加前/后斜线几乎无处不在。
var baseUri = new Uri("http://localhost/");
var uri1 = new Uri(baseUri, "1");
var uri2 = new Uri(uri1, "2");
出乎意料的是, uri2
是HTTP://本地主机/ 2 。 我怎么会追加到uri1
所以它的http://本地主机/ 1/2这一翻译? 是否Uri
做到这一点,或者我需要退回到字符串? 顺便说一句,我已经尝试添加前/后斜线几乎无处不在。
“1”和“2”是一个URL的“文件名部分”。 如果你把“1”看起来更像目录路径,将工作确定“1 /”:
var baseUri = new Uri("http://localhost/");
var uri1 = new Uri(baseUri, "1/");
var uri2 = new Uri(uri1, "2");
注:“文件名部分”是不是一个真正的来看,由于只有网址有“路径”和“查询”成分,但路径的通常最后一块被视为文件名:“/foo/bar/file.txt”。
当你把2路要与第二个,以取代第一路径的大约尾部。 在你的情况下,最终有两个正好“文件名”段:“/ 1”和“2”(如果你在合并放像“/myFile.txt”和“NewFile.txt”真正的价值会更容易看到为什么它的行为这样)。