Edit

Share via


Uri.GetComponents(UriComponents, UriFormat) Method

Definition

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

public:
 System::String ^ GetComponents(UriComponents components, UriFormat format);
public string GetComponents (UriComponents components, UriFormat format);
member this.GetComponents : UriComponents * UriFormat -> string
Public Function GetComponents (components As UriComponents, format As UriFormat) As String

Parameters

components
UriComponents

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

format
UriFormat

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

Returns

The components of the current instance.

Exceptions

components is not a combination of valid UriComponents values.

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

Remarks

The Query, Fragment, Scheme, UserInfo, Host, Port, and Path components do not include the delimiter. You can combine the KeepDelimiter flag (using the bitwise OR operator) with any of those values to get the value with 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.

Note

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.

Applies to