.NET Framework Class Library
UriGetComponents Method

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 [%$TOPIC/7x8127ck_en-us_VS_110_1_0_0_0_0%], _
	format As [%$TOPIC/7x8127ck_en-us_VS_110_1_0_0_0_1%] _
) As [%$TOPIC/7x8127ck_en-us_VS_110_1_0_0_0_2%]
public [%$TOPIC/7x8127ck_en-us_VS_110_1_0_1_0_0%] GetComponents(
	[%$TOPIC/7x8127ck_en-us_VS_110_1_0_1_0_1%] components,
	[%$TOPIC/7x8127ck_en-us_VS_110_1_0_1_0_2%] format
[%$TOPIC/7x8127ck_en-us_VS_110_1_0_2_0_0%]^ GetComponents(
	[%$TOPIC/7x8127ck_en-us_VS_110_1_0_2_0_1%] components, 
	[%$TOPIC/7x8127ck_en-us_VS_110_1_0_2_0_2%] format
member GetComponents : 
        components:[%$TOPIC/7x8127ck_en-us_VS_110_1_0_3_0_0%] * 
        format:[%$TOPIC/7x8127ck_en-us_VS_110_1_0_3_0_1%] -> [%$TOPIC/7x8127ck_en-us_VS_110_1_0_3_0_2%]
public function GetComponents(
	components : [%$TOPIC/7x8127ck_en-us_VS_110_1_0_4_0_0%], 
	format : [%$TOPIC/7x8127ck_en-us_VS_110_1_0_4_0_1%]
) : [%$TOPIC/7x8127ck_en-us_VS_110_1_0_4_0_2%]


Type: SystemUriComponents

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

Type: SystemUriFormat

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

Return Value

Type: SystemString
A String that contains the components.

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.

Version Information

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library