Since I’ve repeated enough times the somewhat cumbersome exercise of inferring what the various properties of the .NET Framework (as of version 4.5) System.Uri
class return for a “typical” HTTP/HTTPS URL from the official documentation – and generally resorted to manual testing to be 100% certain of the behavior – here’s a visual guide.
Given a System.Uri
instance constructed as follows (C#):
System.Uri uri = new System.Uri("https://www.example.com:8080/dir1/dir2/page.aspx?param1=val1¶m2=val2#anchor");
Here’s what the various relevant properties of that Uri
instance return:
Property | String value |
---|---|
AbsoluteUri | https://www.example.com:8080/dir1/dir2/page.aspx?param1=val1¶m2=val2#anchor |
OriginalString |
https://www.example.com:8080/dir1/dir2/page.aspx?param1=val1¶m2=val2#anchor |
Scheme |
https |
Host |
www.example.com |
Authority |
www.example.com:8080 |
Port |
8080 |
AbsolutePath |
/dir1/dir2/page.aspx |
PathAndQuery |
/dir1/dir2/page.aspx?param1=val1¶m2=val2 |
Query |
?param1=val1¶m2=val2 |
Fragment |
#anchor |
The Segments
property returns the following String
array:
String[] { "/", "dir1/", "dir2/", "page.aspx" }
Hopefully this will save a little time for all of you as well as for me!