我想根据一些字符串值构建一个Uri,但我想避免在调用.ToString()时显示端口。
var uriBuilder = new UriBuilder("http://www.google.co.uk/")
{
Path = "test"
};下面的代码输出http://www.google.co.uk:80/test而不是http://www.google.co.uk/test。是否有一种方法可以不将端口包含在最后的字符串中,还是必须使用其中一种变通方法(例如new Uri(new Uri(baseUrl), relativePath) )?
发布于 2020-04-08 10:32:07
为了达到你所需要的结果,你可以这样做。
var uriBuilder = new UriBuilder()
{
Scheme = "http",
Host = "www.google.co.uk",
Path = "test"
};
Uri uri = uriBuilder.Uri;在uri中,您将得到所需的“http://www.google.co.uk/test”结果。
如果你检查一下微软文档,你会发现
此构造函数根据uri中指定的片段、主机、路径、端口、查询、方案和Uri属性初始化UriBuilder类的新实例。如果uri不指定方案,则该方案默认为"http:“。
https://stackoverflow.com/questions/61098177
复制相似问题