大家通过对.NET Framework的学习,可能会对其中的类库方面的知识比较头疼。因为其包含的内容相当广泛,想要很好的掌握是比较困难的。提供统一资源标识符 (URI) 的对象表示形式和对.NET Framework Uri类各部分的轻松访问。 #t#
命名空间:System
程序集:System(在 system.dll 中)
.NET Framework Uri类语法:C#
- [SerializableAttribute]
- public class Uri : ISerializable
备注
.NET Framework Uri类是 Intranet 或 Internet 上可由应用程序使用的资源的一种简洁表示形式。Uri 类定义了属性和方法来处理 URI,包括分析、比较和组合。Uri 类属性是只读的;若要创建可修改的对象,请使用 UriBuilder 类。
相对 URI(例如“/new/index.htm”)必须相对于基 URI 展开,这样才是绝对的。提供了 MakeRelative 方法在必要时将绝对 URI 转换为相对 URI。
如果 URI 字符串是格式良好的 URI 并且包括方案标识符,Uri 构造函数将不会转义 URI 字符串。
Uri 属性用转义编码返回规范化数据表示形式,任何 Unicode 值大于 127 的字符都会被替换为等效的十六进制数。为使 URI 具有规范化格式,Uri 构造函数执行以下步骤:
将.NET Framework Uri类方案转换为小写。
将主机名转换为小写。
如果主机名为 IPv6 地址,则使用规范化 IPv6 地址。ScopeId 和其他可选的 IPv6 数据将被移除
移除默认端口号和空端口号。
通过压缩 /./、/../、// 等序列(包括转义表示形式),规范化分层 URI 的路径。
对于分层 URI,如果主机未以正斜杠 (/) 结尾,则添加一个正斜杠。
URI 中的任何保留字符都要根据 RFC 2396 进行转义。
使用 ToString 方法,可以将 Uri 类的内容从转义编码的 URI 引用转换为可读的 URI 引用。请注意,在 ToString 方法的输出中,某些保留字符可能仍会被转义。这是为了支持利用 ToString 返回的值明确无误地重新构造 URI。
某些.NET Framework Uri类会包括一个片段标识符或一个查询,或同时包含这两项内容。片段标识符是跟在数字符号 (#) 之后的任意文本(不包括数字符号本身);段落文本储存在 Fragment 属性中。查询信息是 URI 中跟在问号 (?) 后的任何文本;查询文本存储在 Query 属性中。
在 .NET Framework 1.1 版中,如果指定给构造函数的字符串包含未知的方案和“c:\”,则 URI 类会在冒号后面插入“//”。例如,URI xyz:c:\abc 会转换为 xyz://c:/abc。在 .NET Framework 2.0 版中已经移除这一行为,示例字符串会转换为 xyz:c:/abc。
注意.NET Framework Uri类支持使用以下格式的 IP 地址:四组表示法的 IPv4 协议和冒号分隔的十六进制 IPv6 协议。请记住在 IPv6 地址两边括上方括号,如 http://[::1]。