在用 Uri 类回答另一个问题时,我发现了一些对我来说似乎很奇怪的东西:
考虑这两个 Uris:
var u1 = new Uri("http://a.b:33/abc%2fdef/c?d=f");
var u2 = new Uri("foobar://a.b:33/abc%2fdef/c?d=f");
它们的不同之处仅在于它们的方案。提供的标识符的所有其他元素都是相同的。
那么,为什么当我转储Segments
这些 Uri 实例的属性时,我会看到以下输出u1
:
/ ABC/ 定义/ C
...但是输出不同u2
?
/ abc%2fdef/ C
为什么不同方案的解析行为不同?