System.Uri.GetComponents Method

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


public string GetComponents (UriComponents components, UriFormat format)


A bitwise combination of the UriComponents values that specifies which parts of the current instance to return to the caller.
One of the UriFormat values that controls how special characters are escaped.


A string that contains the components.


When UriComponents.Query or UriComponents.Fragment is specified alone, the return value includes the delimiter. The UriComponents.Scheme, UriComponents.UserInfo, UriComponents.Host, UriComponents.Port, and UriComponents.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 UriComponents.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 Uri.GetComponents(UriComponents, UriFormat) method.

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


If the Uri.GetComponents(UriComponents, UriFormat) method is called with format set to UriFormat.Unescaped , you cannot use the return value as an argument to a erload:System.Uri.#ctor constructor to create an equivalent Uri.


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