版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
Uri 类 :提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。
需要注意的是Uri和Url的区别,网上有很多解释。
Url相当于Uri的一个子类,可以把Url当作Uri用。
主要的属性
AbsolutePath:获取 URI 的绝对路径。
AbsoluteUri:获取绝对 URI。
Authority:获取服务器的域名系统 (DNS) 主机名或 IP 地址和端口号。
DnsSafeHost: 获得可安全用于 DNS 解析的未转义主机名。
Fragment: 获取转义 URI 片段。
Host: 获取此实例的主机部分。
公共属性 由 XNA Framework 提供支持 HostNameType 获取 URI 中指定的主机名的类型。
IsAbsoluteUri 获取一个值,该值指示 Uri 实例是否为绝对 URI。
IsDefaultPort: 获取一个值,该值指示 URI 的端口值是否为此方案的默认值。
IsFile: 获取一个值,该值指示指定的 Uri 是否为文件 URI。
IsLoopback: 获取一个值,该值指示指定的 Uri 是否引用了本地主机。
IsUnc: 获取一个值,该值指示指定的 Uri 是否为统一命名约定 (UNC) 路径。
LocalPath: 获取文件名的本地操作系统表示形式。
OriginalString: 获取传递给 Uri 构造函数的原始 URI 字符串。
PathAndQuery: 获取用问号 (?) 分隔的 AbsolutePath 和 Query 属性。
Port: 获取此 URI 的端口号。
Query: 获取指定 URI 中包括的任何查询信息。
Scheme: 获取此 URI 的方案名称。
Segments: 获取包含构成指定 URI 的路径段的数组。
UserEscaped: 指示 URI 字符串在创建 Uri 实例之前已被完全转义。
UserInfo: 获取用户名、密码或其他与指定 URI 关联的特定于用户的信息。
uri类提供的主要的构造函数:
Uri(String) 用指定 URI 初始化 Uri 类的新实例。
Uri(Uri, String) 根据指定的基 URI 和相对 URI 字符串,初始化 Uri 类的新实例。
Uri(Uri, Uri) 根据指定的基 Uri 实例和相对 Uri 实例的组合,初始化 Uri 类的新实例。
以下代码演示了获得Uri的信息:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim siteUri As New Uri(TextBox2.Text)
Dim info As String = ""
With siteUri
info &= "AbsolutePath:" & .AbsolutePath & ControlChars.CrLf
info &= "AbsoluteUri:" & .AbsoluteUri & ControlChars.CrLf
info &= "PathAndQuery:" & .PathAndQuery & ControlChars.CrLf
info &= "DnsSafeHost:" & .DnsSafeHost & ControlChars.CrLf
info &= "Fragment:" & .Fragment & ControlChars.CrLf
info &= "Host:" & .Host & ControlChars.CrLf
info &= "HostNameType:" & .HostNameType & ControlChars.CrLf
info &= "IsAbsoluteUri:" & .IsAbsoluteUri & ControlChars.CrLf
info &= "Port:" & .Port & ControlChars.CrLf
info &= "LocalPath:" & .LocalPath & ControlChars.CrLf
info &= "UserInfo:" & .UserInfo & ControlChars.CrLf
info &= "UserEscaped:" & .UserEscaped & ControlChars.CrLf
info &= "Authority:" & .Authority & ControlChars.CrLf
info &= "IsLoopback:" & .IsLoopback & ControlChars.CrLf
info &= "IsUnc:" & .IsUnc & ControlChars.CrLf
info &= "IsFile:" & .IsFile & ControlChars.CrLf
info &= "Scheme:" & .Scheme & ControlChars.CrLf
Dim segcount As Integer = 0
For Each seg As String In .Segments
segcount += 1
info &= "Segment" & segcount & ":" & seg & ControlChars.CrLf
Next
End With
TextBox1.Text = info
End Sub
运行结果:
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net 教程 目录