我想在更换原始Uri中的一些角色后创建一个新的Uri。 我在打电话
string original = uri.AbsoluteUri.Replace("foo", "bar").Replace("xyz", "abc");
现在,在替换实例后,当我尝试从字符串
创建一个新的Uri时Uri newUri = new Uri(original);
Uri总是作为Uri的ToString()
表示返回,即它是人类可读的,即 - Uri保留Spaces
而不是%20
NOT 强烈的>我想拥有的。
更清晰:
原始字符串= http://foo.example.com/images/Cute%20Cats/New%20Images/cat-1.jpg
New Uri = http://foo.example.com/images/Cute Cats/New Images/cat-1.jpg
预期= http://foo.example.com/images/Cute%20Cats/New%20Images/cat-1.jpg
那么,最后我怎样才能从上面的原始字符串中创建一个新的Uri呢?
答案 0 :(得分:0)
您可以使用OriginalString属性显示转义的uri。
Console.WriteLine(newUri.OriginalString);
您的Uri
对象中存在的转发版本确实存在,但调用它的ToString方法将显示未转义的版本。