Uri.GetComponents Method (UriComponents, UriFormat)


Gets the specified components of the current instance using the specified escaping for special characters.

Namespace:   System
Assembly:  System (in System.dll)

Public Function GetComponents (
	components As UriComponents,
	format As UriFormat
) As String


Type: System.UriComponents

A bitwise combination of the UriComponents values that specifies which parts of the current instance to return to the caller.

Type: System.UriFormat

One of the UriFormat values that controls how special characters are escaped.

Return Value

Type: System.String

A String that contains the components.

Exception Condition

uriComponents is not a combination of valid UriComponents values.


The current Uri is not an absolute URI. Relative URIs cannot be used with this method.

When Query or Fragment is specified alone, the return value includes the delimiter. The Scheme, UserInfo, Host, Port, and Path components do not include the delimiter. For all other UriComponents values, and combinations of values, the delimiters are included in the returned value.

The components are returned in the order that they appear in the URI. For example, if Scheme is specified, it appears first.

When International Resource Identifier (IRI) and Internationalized Domain Name (IDN) support are enabled, the number of characters returned in the String increases. Punycode names used to support IRI contain only ASCII characters and always start with the xn-- prefix. When IRI and IDN are enabled, Unicode surrogate characters are handled correctly by the GetComponents method.

For more information on IRI support, see the Remarks section for the Uri class.


If the GetComponents method is called with format set to Unescaped , you cannot use the return value as an argument to a Uri constructor to create an equivalent Uri.

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft