c# - 更改 System.Uri 的端口

标签 c# .net uri

所以我有这个 Uri 对象,它包含一个地址,类似于 http://localhost:1000/blah/blah/blah。我需要更改端口号并保持地址的所有其他部分不变。假设我需要它是 http://localhost:1080/blah/blah/blah

Uri 对象几乎是不可变的,所以我可以通过 Port 属性访问端口号,但它是只读的。有什么明智的方法可以创建一个与另一个对象完全一样但具有不同端口的 Uri 对象?我所说的“理智”是指“不乱用正则表达式和字符串操作”,因为虽然这对于上面的例子来说是微不足道的,但对我来说它仍然闻起来像一堆蠕虫。如果那是唯一的方法,我真的希望它已经被某人实现并且可能有一些帮助(虽然我没有找到)

提前致谢。

最佳答案

您是否考虑过 UriBuilder 类?

http://msdn.microsoft.com/en-us/library/system.uribuilder.aspx

UriBuilder 类提供了一种方便的方法来修改 Uri 实例的内容,而无需为每次修改创建一个新的 Uri 实例。

UriBuilder 属性提供对只读 Uri 属性的读/写访问权限,以便可以修改它们。

关于c# - 更改 System.Uri 的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6137718/

相关文章:

c# - MVP、WinForms - 如何避免臃肿的 View 、演示器和演示模型

c# - Visual Studio C++/CLI 模板神秘错误

c# - Bitmap.UriSource 未设置

web-services - REST URI 设计 : how update

java - C# 中的 "Boxing"是什么意思(相对于 Java)?

c# - Entity Framework Context 6.1.3 未刷新/销毁?

c# - 这是哪种关系,一侧是一对一,另一侧是多对一

c# - 核心 3.1 - 绑定(bind) Body 中的一些属性和 Header 中的其他一些属性

android - 如何从位图中获取 Uri 对象

c# - SharePoint Online - 通过 CSOM 应用程序更新用户配置文件属性