Uri Konstruktoren

Definition

Initialisiert eine neue Instanz der Uri-Klasse.

Überlädt

Uri(String)

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI.

Uri(SerializationInfo, StreamingContext)
Veraltet.

Initialisiert eine neue Instanz der Uri-Klasse aus den angegebenen Instanzen der SerializationInfo-Klasse und der StreamingContext-Klasse.

Uri(String, Boolean)
Veraltet.
Veraltet.
Veraltet.

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI, wobei die Verwendung der Escapezeichen explizit gesteuert werden kann.

Uri(String, UriCreationOptions)

Initialisiert eine neue Instanz der Uri -Klasse mit dem angegebenen URI und zusätzlichen UriCreationOptions.

Uri(String, UriKind)

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI. Mit diesem Konstruktor können Sie angeben, ob die URI-Zeichenfolge ein relativer URI, ein absoluter URI oder unbestimmt ist.

Uri(Uri, String)

Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage des angegebenen Basis-URIs und der relativen URI-Zeichenfolge.

Uri(Uri, Uri)

Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage der Kombination einer angegebenen Uri-Instanz als Basis und einer relativen Uri-Instanz.

Uri(Uri, String, Boolean)
Veraltet.
Veraltet.
Veraltet.

Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage des angegebenen Basis-URIs und des angegebenen relativen URIs mit expliziter Steuerung der Escapesequenzen.

Uri(String)

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI.

public:
 Uri(System::String ^ uriString);
public Uri (string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)

Parameter

uriString
String

Eine Zeichenfolge, die die Ressource identifiziert, die durch die Uri-Instanz dargestellt werden soll. Beachten Sie, dass eine IPv6-Adresse in Zeichenfolgenform in Klammern eingeschlossen werden muss. Beispiel: „http://[2607:f8b0:400d:c06::69]“

Ausnahmen

uriString ist null.

Hinweis: Fangen Sie in .NET für Windows Store-Apps oder der Portablen Klassenbibliothek stattdessen die Basisklassenausnahme FormatException ab.

uriString ist leer.

- oder -

Das in uriString angegebene Schema entspricht nicht der korrekten Form. Siehe CheckSchemeName(String).

- oder -

uriString enthält zu viele Schrägstriche (/).

- oder -

Das in uriString angegebene Kennwort ist ungültig.

- oder -

Der in uriString angegebene Hostname ist ungültig.

- oder -

Der in uriString angegebene Dateiname ist ungültig.

- oder -

Der in uriString angegebene Benutzername ist ungültig.

- oder -

Am Ende des in uriString angegeben Hostnamens oder Namens der Zertifizierungsstelle sind umgekehrte Schrägstriche unzulässig.

- oder -

Die in uriString angegebene Anschlussnummer ist ungültig oder kann nicht analysiert werden.

- oder -

Die Länge von uriString überschreitet 65519 Zeichen.

- oder -

Das in uriString angegebene Schema ist länger als 1023 Zeichen.

- oder -

uriString enthält eine ungültige Zeichensequenz.

- oder -

Der in uriString angegebene MS-DOS-Pfad muss mit c:\\ beginnen.

Beispiele

Im folgenden Beispiel wird eine Uri -Instanz mit dem URI http://www.contoso.com/erstellt.

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri myUri = new Uri("http://www.contoso.com/");
let myUri = Uri "http://www.contoso.com/"
Dim myUri As New Uri("http://www.contoso.com/")

Hinweise

Dieser Konstruktor erstellt eine Uri Instanz aus einer URI-Zeichenfolge. Der URI wird analysiert, im kanonischen Format platziert und alle erforderlichen Escapecodierungen erstellt.

Dieser Konstruktor stellt nicht sicher, dass sich auf Uri eine barrierefreie Ressource bezieht.

Dieser Konstruktor geht davon aus, dass der string Parameter auf einen absoluten URI verweist und dem Aufruf des Uri Konstruktors entspricht, der UriKind auf Absolutefestgelegt ist. Wenn der string an den Konstruktor übergebene Parameter ein relativer URI ist, löst dieser Konstruktor einen aus UriFormatException.

Gilt für:

Uri(SerializationInfo, StreamingContext)

Achtung

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

Initialisiert eine neue Instanz der Uri-Klasse aus den angegebenen Instanzen der SerializationInfo-Klasse und der StreamingContext-Klasse.

protected:
 Uri(System::Runtime::Serialization::SerializationInfo ^ serializationInfo, System::Runtime::Serialization::StreamingContext streamingContext);
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)

Parameter

serializationInfo
SerializationInfo

Eine Instanz der SerializationInfo-Klasse mit den für die Serialisierung der neuen Uri-Instanz erforderlichen Informationen.

streamingContext
StreamingContext

Eine Instanz der StreamingContext-Klasse, die die Quelle des serialisierten Streams enthält, der der neuen Uri-Instanz zugeordnet ist.

Attribute

Ausnahmen

Der serializationInfo-Parameter enthält einen null-URI.

Der serializationInfo-Parameter enthält einen leeren URI.

- oder -

Das angegebene Schema entspricht nicht der korrekten Form. Siehe CheckSchemeName(String).

- oder -

Der URI enthält zu viele Schrägstriche (/).

- oder -

Das im URI angegebene Kennwort ist ungültig.

- oder -

Der in URI angegebene Hostname ist ungültig.

- oder -

Der im URI angegebene Dateiname ist ungültig.

- oder -

Der im URI angegebene Benutzername ist ungültig.

- oder -

Am Ende des in URI angegeben Hostnamens oder Namens der Zertifizierungsstelle sind umgekehrte Schrägstriche unzulässig.

- oder -

Die im URI angegebene Anschlussnummer ist ungültig oder kann nicht analysiert werden.

- oder -

Der URI ist länger als 65.519 Zeichen.

- oder -

Das im URI angegebene Schema ist länger als 1023 Zeichen.

- oder -

Der URI enthält eine ungültige Zeichensequenz.

- oder -

Der im URI angegebene MS-DOS-Pfad muss mit c:\\ beginnen.

Hinweise

Dieser Konstruktor implementiert die ISerializable -Schnittstelle für die Uri -Klasse.

Weitere Informationen

Gilt für:

Uri(String, Boolean)

Achtung

The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Achtung

This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.

Achtung

The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI, wobei die Verwendung der Escapezeichen explizit gesteuert werden kann.

public:
 Uri(System::String ^ uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
public Uri (string uriString, bool dontEscape);
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
new Uri : string * bool -> Uri
Public Sub New (uriString As String, dontEscape As Boolean)

Parameter

uriString
String

Eine Zeichenfolge, die die Ressource identifiziert, die durch die Uri-Instanz dargestellt werden soll. Beachten Sie, dass eine IPv6-Adresse in Zeichenfolgenform in Klammern eingeschlossen werden muss. Beispiel: „http://[2607:f8b0:400d:c06::69]“

dontEscape
Boolean

true, wenn uriString vollständig mit Escapezeichen versehen wurde, andernfalls false.

Attribute

Ausnahmen

uriString ist null.

uriString ist leer oder enthält nur Leerzeichen.

- oder -

Das in uriString angegebene Kennwort ist ungültig.

- oder -

uriString enthält zu viele Schrägstriche (/).

- oder -

Das in uriString angegebene Kennwort ist ungültig.

- oder -

Der in uriString angegebene Hostname ist ungültig.

- oder -

Der in uriString angegebene Dateiname ist ungültig.

- oder -

Der in uriString angegebene Benutzername ist ungültig.

- oder -

Am Ende des in uriString angegeben Hostnamens oder Namens der Zertifizierungsstelle sind umgekehrte Schrägstriche unzulässig.

- oder -

Die in uriString angegebene Anschlussnummer ist ungültig oder kann nicht analysiert werden.

- oder -

Die Länge von uriString überschreitet 65519 Zeichen.

- oder -

Das in uriString angegebene Schema ist länger als 1023 Zeichen.

- oder -

uriString enthält eine ungültige Zeichensequenz.

- oder -

Der in uriString angegebene MS-DOS-Pfad muss mit c:\\ beginnen.

Beispiele

Im folgenden Beispiel wird eine Uri Instanz für den URI http://www.contoso.com/Hello%20World.htmerstellt. Da der enthaltene URI vollständig mit Escapezeichen versehen ist und sich in kanonischer Form befindet, kann der dontEscape Parameter auf truefestgelegt werden.

Uri^ myUri = gcnew Uri(  "http://www.contoso.com/Hello%20World.htm",true );
Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
let myUri = Uri("http://www.contoso.com/Hello%20World.htm", true)
Dim myUri As New Uri("http://www.contoso.com/Hello%20World.htm", True)

Hinweise

Dieser Konstruktor erstellt eine Uri Instanz aus einer URI-Zeichenfolge. Der URI wird analysiert und im kanonischen Format platziert.

Der dontEscape Parameter steuert, ob reservierte Zeichen in Escapesequenzen übersetzt werden. Dieser Parameter sollte nur auf true festgelegt werden, wenn Sie sicher sind, dass alle reservierten Zeichen im URI mit Escapezeichen versehen wurden. Das Festlegen des Werts true auf für einen URI, der nicht vollständig mit Escapezeichen versehen wurde, kann zu unerwartetem Verhalten führen. Es wird dringend empfohlen, diesen Parameter immer auf festzulegen false.

Wenn dontEscape auf falsefestgelegt ist, wird vom Konstruktor alle reservierten Zeichen mit Escapezeichen versehen, indem er überprüft, ob auf alle Vorkommen von Prozent (%) eine gültige Escapesequenz folgt. Wenn die Zeichenfolge nach einem Prozentwert ungültig ist, wird der Prozentsatz durch %25 ersetzt.

Dieser Konstruktor stellt nicht sicher, dass sich auf Uri eine barrierefreie Ressource bezieht.

Gilt für:

Uri(String, UriCreationOptions)

Initialisiert eine neue Instanz der Uri -Klasse mit dem angegebenen URI und zusätzlichen UriCreationOptions.

public:
 Uri(System::String ^ uriString, UriCreationOptions % creationOptions);
public Uri (string uriString, in UriCreationOptions creationOptions);
new Uri : string * UriCreationOptions -> Uri
Public Sub New (uriString As String, ByRef creationOptions As UriCreationOptions)

Parameter

uriString
String

Eine Zeichenfolge, die die Ressource identifiziert, die durch die Uri-Instanz dargestellt werden soll.

creationOptions
UriCreationOptions

Optionen, die steuern, wie erstellt Uri wird und sich verhält.

Gilt für:

Uri(String, UriKind)

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI. Mit diesem Konstruktor können Sie angeben, ob die URI-Zeichenfolge ein relativer URI, ein absoluter URI oder unbestimmt ist.

public:
 Uri(System::String ^ uriString, UriKind uriKind);
public Uri (string uriString, UriKind uriKind);
new Uri : string * UriKind -> Uri
Public Sub New (uriString As String, uriKind As UriKind)

Parameter

uriString
String

Eine Zeichenfolge, die die Ressource identifiziert, die durch die Uri-Instanz dargestellt werden soll. Beachten Sie, dass eine IPv6-Adresse in Zeichenfolgenform in Klammern eingeschlossen werden muss. Beispiel: „http://[2607:f8b0:400d:c06::69]“

uriKind
UriKind

Gibt an, ob die URI-Zeichenfolge ein relativer URI, ein absoluter URI oder unbestimmt ist.

Ausnahmen

uriKind ist ungültig.

uriString ist null.

Hinweis: Fangen Sie in .NET für Windows Store-Apps oder der Portablen Klassenbibliothek stattdessen die Basisklassenausnahme FormatException ab.

uriString enthält einen relativen URI, und uriKind ist Absolute.

oder

uriString enthält einen absoluten URI, und uriKind ist Relative.

oder

uriString ist leer.

- oder -

Das in uriString angegebene Schema entspricht nicht der korrekten Form. Siehe CheckSchemeName(String).

- oder -

uriString enthält zu viele Schrägstriche (/).

- oder -

Das in uriString angegebene Kennwort ist ungültig.

- oder -

Der in uriString angegebene Hostname ist ungültig.

- oder -

Der in uriString angegebene Dateiname ist ungültig.

- oder -

Der in uriString angegebene Benutzername ist ungültig.

- oder -

Am Ende des in uriString angegeben Hostnamens oder Namens der Zertifizierungsstelle sind umgekehrte Schrägstriche unzulässig.

- oder -

Die in uriString angegebene Anschlussnummer ist ungültig oder kann nicht analysiert werden.

- oder -

Die Länge von uriString überschreitet 65519 Zeichen.

- oder -

Das in uriString angegebene Schema ist länger als 1023 Zeichen.

- oder -

uriString enthält eine ungültige Zeichensequenz.

- oder -

Der in uriString angegebene MS-DOS-Pfad muss mit c:\\ beginnen.

Hinweise

Relative und absolute URIs weisen unterschiedliche Formatbeschränkungen auf. Für einen relativen URI ist beispielsweise kein Schema oder eine Autorität erforderlich. Der Wert, den Sie in uriKind angeben, muss mit dem Typ des in uriStringübergebenen URI übereinstimmen. Wenn RelativeOrAbsolute jedoch angegeben ist, kann die URI-Zeichenfolge relativ oder absolut sein.

Gilt für:

Uri(Uri, String)

Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage des angegebenen Basis-URIs und der relativen URI-Zeichenfolge.

public:
 Uri(Uri ^ baseUri, System::String ^ relativeUri);
public Uri (Uri baseUri, string relativeUri);
public Uri (Uri baseUri, string? relativeUri);
new Uri : Uri * string -> Uri
Public Sub New (baseUri As Uri, relativeUri As String)

Parameter

baseUri
Uri

Der Basis-URI.

relativeUri
String

Der relative URI, der dem Basis-URI hinzugefügt werden soll.

Ausnahmen

baseUri ist null.

baseUri ist keine absolute Uri-Instanz.

Hinweis: Fangen Sie in .NET für Windows Store-Apps oder der Portablen Klassenbibliothek stattdessen die Basisklassenausnahme FormatException ab.

Der URI, der aus baseUri und relativeUri kombiniert wurde, ist leer oder enthält nur Leerzeichen.

- oder -

Das Schema, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der durch Kombination von baseUri und relativeUri gebildete URI enthält zu viele Schrägstriche.

- oder -

Das Kennwort, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Hostname, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Dateiname, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Benutzername, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Am Ende des Hostnamens oder Namens der Zertifizierungsstelle, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, sind umgekehrte Schrägstriche unzulässig.

- oder -

Die Anschlussnummer, die in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig oder kann nicht analysiert werden.

- oder -

Der durch Kombination von baseUri und relativeUri gebildete URI ist länger als 65519 Zeichen.

- oder -

Das Schema, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist länger als 1023 Zeichen.

- oder -

Der durch Kombination von baseUri und relativeUri gebildeten URI enthält eine ungültige Zeichenfolge.

- oder -

Der in uriString angegebene MS-DOS-Pfad muss mit c:\\ beginnen.

Beispiele

Im folgenden Beispiel wird eine neue Instanz der Uri -Klasse erstellt, indem die relativen URIs http://www.contoso.com und catalog/shownew.htm der absolute URI http://www.contoso.com/catalog/shownew.htmkombiniert werden.

Uri^ baseUri = gcnew Uri(  "http://www.contoso.com" );
Uri^ myUri = gcnew Uri( baseUri, "catalog/shownew.htm" );
Console::WriteLine( myUri->ToString() );
Uri baseUri = new Uri("http://www.contoso.com");
 Uri myUri = new Uri(baseUri, "catalog/shownew.htm");

Console.WriteLine(myUri.ToString());
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "catalog/shownew.htm")

printfn $"{myUri}"
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")

Console.WriteLine(myUri.ToString())

Hinweise

Dieser Konstruktor erstellt eine Uri -Instanz, indem er und relativeUribaseUri kombiniert. Wenn relativeUri ein absoluter URI ist (der ein Schema, einen Hostnamen und optional eine Portnummer enthält), wird die Uri Instanz nur relativeUrimit erstellt.

Wenn die baseUri über relative Teile (z /api. B. ) verfügt, muss der relative Teil mit einem Schrägstrich (z /api/. B. ) beendet werden, wenn der relative Teil von baseUri im konstruierten Uribeibehalten werden soll.

Wenn der relativeUri mit einem Schrägstrich beginnt, ersetzt es außerdem jeden relativen Teil des baseUri

Dieser Konstruktor stellt nicht sicher, dass sich auf Uri eine barrierefreie Ressource bezieht.

Gilt für:

Uri(Uri, Uri)

Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage der Kombination einer angegebenen Uri-Instanz als Basis und einer relativen Uri-Instanz.

public:
 Uri(Uri ^ baseUri, Uri ^ relativeUri);
public Uri (Uri baseUri, Uri relativeUri);
new Uri : Uri * Uri -> Uri
Public Sub New (baseUri As Uri, relativeUri As Uri)

Parameter

baseUri
Uri

Ein absoluter Uri, der die Basis für die neue Uri-Instanz ist.

relativeUri
Uri

Eine relative Uri-Instanz, die mit baseUri kombiniert wird.

Ausnahmen

baseUri ist keine absolute Uri-Instanz.

baseUri ist null.

baseUri ist keine absolute Uri-Instanz.

Hinweis: Fangen Sie in .NET für Windows Store-Apps oder der Portablen Klassenbibliothek stattdessen die Basisklassenausnahme FormatException ab.

Der URI, der aus baseUri und relativeUri kombiniert wurde, ist leer oder enthält nur Leerzeichen.

- oder -

Das Schema, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der durch Kombination von baseUri und relativeUri gebildete URI enthält zu viele Schrägstriche.

- oder -

Das Kennwort, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Hostname, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Dateiname, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Benutzername, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Am Ende des Hostnamens oder Namens der Zertifizierungsstelle, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, sind umgekehrte Schrägstriche unzulässig.

- oder -

Die Anschlussnummer, die in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig oder kann nicht analysiert werden.

- oder -

Der durch Kombination von baseUri und relativeUri gebildete URI ist länger als 65519 Zeichen.

- oder -

Das Schema, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist länger als 1023 Zeichen.

- oder -

Der durch Kombination von baseUri und relativeUri gebildeten URI enthält eine ungültige Zeichenfolge.

- oder -

Der in uriString angegebene MS-DOS-Pfad muss mit c:\\ beginnen.

Beispiele

In diesem Beispiel werden die absolute Uri Instanz absoluteUriund die relative Uri Instanz relativeUrierstellt. Aus diesen beiden Instanzen wird dann eine neue Uri Instanz combinedUrierstellt.

// Create an absolute Uri from a string.
String^ addressString1 = "http://www.contoso.com/";
String^ addressString2 = "catalog/shownew.htm?date=today";
Uri^ absoluteUri = gcnew Uri(addressString1);

// Create a relative Uri from a string.  allowRelative = true to allow for 
// creating a relative Uri.
Uri^ relativeUri = gcnew Uri(addressString2);

// Check whether the new Uri is absolute or relative.
if (  !relativeUri->IsAbsoluteUri )
   Console::WriteLine( "{0} is a relative Uri.", relativeUri );

// Create a new Uri from an absolute Uri and a relative Uri.
Uri^ combinedUri = gcnew Uri( absoluteUri,relativeUri );
Console::WriteLine( combinedUri->AbsoluteUri );
// Create an absolute Uri from a string.
Uri absoluteUri = new Uri("http://www.contoso.com/");

// Create a relative Uri from a string.  allowRelative = true to allow for
// creating a relative Uri.
Uri relativeUri = new Uri("/catalog/shownew.htm?date=today", UriKind.Relative);

// Check whether the new Uri is absolute or relative.
if (!relativeUri.IsAbsoluteUri)
    Console.WriteLine("{0} is a relative Uri.", relativeUri);

// Create a new Uri from an absolute Uri and a relative Uri.
Uri combinedUri = new Uri(absoluteUri, relativeUri);
Console.WriteLine(combinedUri.AbsoluteUri);
// Create an absolute Uri from a string.
let absoluteUri = Uri "http://www.contoso.com/"

// Create a relative Uri from a string.  allowRelative = true to allow for
// creating a relative Uri.
let relativeUri = Uri("/catalog/shownew.htm?date=today", UriKind.Relative)

// Check whether the new Uri is absolute or relative.
if not relativeUri.IsAbsoluteUri then
    printfn $"{relativeUri} is a relative Uri."

// Create a new Uri from an absolute Uri and a relative Uri.
let combinedUri = Uri(absoluteUri, relativeUri)
printfn $"{combinedUri.AbsoluteUri}"
    ' Create an absolute Uri from a string.
    Dim absoluteUri As New Uri("http://www.contoso.com/")
    
    ' Create a relative Uri from a string.  allowRelative = true to allow for 
    ' creating a relative Uri.
    Dim relativeUri As New Uri("/catalog/shownew.htm?date=today")
    
    ' Check whether the new Uri is absolute or relative.
    If Not relativeUri.IsAbsoluteUri Then
        Console.WriteLine("{0} is a relative Uri.", relativeUri)
    End If 
    ' Create a new Uri from an absolute Uri and a relative Uri.
    Dim combinedUri As New Uri(absoluteUri, relativeUri)
    Console.WriteLine(combinedUri.AbsoluteUri)

End Sub

Hinweise

Dieser Konstruktor erstellt eine neue Uri Instanz, indem er eine absolute Uri Instanz () baseUrimit einer relativen Uri Instanz kombiniert. relativeUri Wenn relativeUri eine absolute Uri Instanz ist (die ein Schema, einen Hostnamen und optional eine Portnummer enthält), wird die Uri Instanz nur relativeUrimit erstellt.

Wenn die baseUri über relative Teile (z /api. B. ) verfügt, muss der relative Teil mit einem Schrägstrich (z /api/. B. ) beendet werden, wenn der relative Teil von baseUri im konstruierten Uribeibehalten werden soll.

Wenn der relativeUri mit einem Schrägstrich beginnt, ersetzt es außerdem jeden relativen Teil des baseUri

Dieser Konstruktor stellt nicht sicher, dass sich auf Uri eine barrierefreie Ressource bezieht.

Gilt für:

Uri(Uri, String, Boolean)

Achtung

The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Achtung

This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.

Achtung

The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202

Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage des angegebenen Basis-URIs und des angegebenen relativen URIs mit expliziter Steuerung der Escapesequenzen.

public:
 Uri(Uri ^ baseUri, System::String ^ relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
new Uri : Uri * string * bool -> Uri
Public Sub New (baseUri As Uri, relativeUri As String, dontEscape As Boolean)

Parameter

baseUri
Uri

Der Basis-URI.

relativeUri
String

Der relative URI, der dem Basis-URI hinzugefügt werden soll.

dontEscape
Boolean

true, wenn uriString vollständig mit Escapezeichen versehen wurde, andernfalls false.

Attribute

Ausnahmen

baseUri ist null.

baseUri ist keine absolute Uri-Instanz.

Der durch Kombination von baseUri und relativeUri erstellte URI ist leer oder enthält nur Leerzeichen.

- oder -

Das Schema, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der durch Kombination von baseUri und relativeUri gebildete URI enthält zu viele Schrägstriche.

- oder -

Das Kennwort, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Hostname, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Dateiname, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Der Benutzername, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig.

- oder -

Am Ende des Hostnamens oder Namens der Zertifizierungsstelle, der in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, sind umgekehrte Schrägstriche unzulässig.

- oder -

Die Anschlussnummer, die in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist ungültig oder kann nicht analysiert werden.

- oder -

Der durch Kombination von baseUri und relativeUri gebildete URI ist länger als 65519 Zeichen.

- oder -

Das Schema, das in dem durch Kombination von baseUri und relativeUri gebildeten URI angegeben ist, ist länger als 1023 Zeichen.

- oder -

Der durch Kombination von baseUri und relativeUri gebildeten URI enthält eine ungültige Zeichenfolge.

- oder -

Der in uriString angegebene MS-DOS-Pfad muss mit c:\\ beginnen.

Beispiele

Im folgenden Beispiel wird eine neue Instanz der Uri -Klasse erstellt, indem die relativen URIs http://www.contoso.com kombiniert und Hello%20World.htm ein absoluter URI erstellt wird.

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "Hello%20World.htm", false)
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)

Hinweise

Dieser Konstruktor erstellt eine Uri -Instanz, indem und relativeUrikombiniert baseUri wird. Wenn der übergebene relativeUri URI ein absoluter URI ist (der ein Schema, einen Hostnamen und optional eine Portnummer enthält), wird die Uri Instanz nur relativeUrimit erstellt.

Der dontEscape Parameter steuert, ob reservierte Zeichen in Escapesequenzen übersetzt werden. Dieser Parameter sollte nur auf true festgelegt werden, wenn Sie sicher sind, dass alle reservierten Zeichen im URI mit Escapezeichen versehen wurden. Das Festlegen des Werts true auf für einen URI, der nicht vollständig mit Escapezeichen versehen wurde, kann zu unerwartetem Verhalten führen. Es wird dringend empfohlen, diesen Parameter immer auf festzulegen false. Wenn dontEscape auf falsefestgelegt ist, wird vom Konstruktor alle reservierten Zeichen mit Escapezeichen versehen, indem er überprüft, ob auf alle Vorkommen von Prozent (%) eine gültige Escapesequenz folgt. Wenn die Zeichenfolge nach einem Prozentwert ungültig ist, wird der Prozentsatz durch %25 ersetzt.

Dieser Konstruktor stellt nicht sicher, dass sich auf Uri eine barrierefreie Ressource bezieht.

Hinweise für Aufrufer

Aus Sicherheitsgründen sollte Ihre Anwendung diesen Konstruktor nicht mit URI-Zeichenfolgen aus nicht vertrauenswürdigen Quellen und mit dontEscape festgelegt auf trueaufrufen. Alternativ können Sie eine URI-Zeichenfolge auf Gültigkeit überprüfen, indem Sie die IsWellFormedOriginalString() -Methode aufrufen, bevor Sie diesen Konstruktor aufrufen.

Gilt für: