Given the following Uri:
http://user:password@msdn.microsoft.com:8080/path/filename.ext?name=value#bookmark
these are the unescaped values returned by the Uri.GetComponents method in the .NET 2.0 Framework:
UriComponents Without KeepDelimiter With KeepDelimiter
Fragment bookmark #bookmark
Host msdn.microsoft.com msdn.microsoft.com
HostAndPort msdn.microsoft.com:8080 msdn.microsoft.com:8080
Path path/filename.ext /path/filename.ext
PathAndQuery /path/filename.ext?name=value /path/filename.ext?name=value
Port 8080 :8080
Query name=value ?name=value
Scheme http http://
SchemeAndServer http://msdn.microsoft.com:8080 http://msdn.microsoft.com:8080
StrongAuthority user:password@msdn.microsoft.com:8080 user:password@msdn.microsoft.com:8080
StrongPort 8080 :8080
UserInfo user:password user:password@