Uri 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 Uri 類別的新執行個體。
多載
| 名稱 | Description |
|---|---|
| Uri(String) |
初始化一個新的類別實例 Uri ,使用指定的 URI。 |
| Uri(SerializationInfo, StreamingContext) |
已淘汰.
從指定的 和 Uri 類別實例SerializationInfo中初始化該StreamingContext類別的新實例。 |
| Uri(String, Boolean) |
已淘汰.
已淘汰.
已淘汰.
已淘汰.
以指定的 URI 初始化該類別的新實例 Uri ,並明確控制角色逃逸。 |
| Uri(String, UriCreationOptions) |
初始化一個新的類別實例 Uri ,使用指定的 URI 及額外的 UriCreationOptions。 |
| Uri(String, UriKind) |
初始化一個新的類別實例 Uri ,使用指定的 URI。 此建構函式可讓您指定 URI 字串是否為相對 URI、絕對 URI 或不確定。 |
| Uri(Uri, String) |
根據指定的基礎 URI 與相對 URI 字串初始化該類別的新 Uri 實例。 |
| Uri(Uri, Uri) | |
| Uri(Uri, String, Boolean) |
已淘汰.
已淘汰.
已淘汰.
已淘汰.
根據指定的基底與相對 URI 初始化該類別的新實例 Uri ,並明確控制角色逃脫。 |
Uri(String)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
初始化一個新的類別實例 Uri ,使用指定的 URI。
public:
Uri(System::String ^ uriString);
public Uri(string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)
參數
例外狀況
uriString 是 null。
注意:在
uriString 空無一人。
-或-
該 uriString 格式未正確形成。 參見 CheckSchemeName(String)。
-或-
uriString 包含太多的斬擊。
-或-
密碼 uriString 、主機名稱、檔案名稱或使用者名稱都不具效性。
-或-
所 uriString 指定的主機或權限名稱以反斜線結尾。
-或-
中 uriString 指定的埠號無效或無法解析。
-或-
字元長度 uriString 超過 65519 個字元(僅限 .NET 9 及更早版本)。
-或-
該方案 uriString 的長度以超過 1023 個字元表示。
-或-
在 中有一個無效的字元序列。uriString
-或-
該 MS-DOS uriString 路徑不以 c:\\ 開頭。
範例
以下範例 Uri 建立一個包含 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/")
備註
此建構子從 URI 字串建立實 Uri 例。 它會剖析 URI、以標準格式放置它,並進行任何必要的逸出編碼。
此建構子不保證 指 Uri 涉可存取資源。
如果代表 IPv6 uriString 位址,則必須用括號包住,例如「http://[2607:f8b0:400d:c06::69]」。
此建構子假設參數 string 參考絕對 URI,等同於呼叫 Uri 將 UriKind 設為 Absolute的建構子。 若傳給建構子的 string 參數為相對 URI,則建構子會拋 UriFormatException出 。
適用於
Uri(SerializationInfo, StreamingContext)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
警告
This API supports obsolete formatter-based serialization. It should not be called or extended by application code.
從指定的 和 Uri 類別實例SerializationInfo中初始化該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);
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}")>]
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)
參數
- serializationInfo
- SerializationInfo
序列化新 Uri 實例所需的資訊。
- streamingContext
- StreamingContext
與新 Uri 實例相關聯的序列化串流來源。
- 屬性
例外狀況
該 serializationInfo 參數包含一個 null URI。
該 serializationInfo 參數包含一個空的 URI。
-或-
指定的配置格式不正確。 參見 CheckSchemeName(String)。
-或-
URI 包含太多斜線。
-或-
URI 中指定的密碼、主機名稱、檔案名稱或使用者名稱均無效。
-或-
URI 中指定的主機或權限名稱以反斜線結束。
-或-
URI 中指定的埠號無效或無法解析。
-或-
URI 的長度超過 65519 個字元(僅限 .NET 9 及更早版本)。
-或-
URI 中指定的配置長度超過 1023 個字元。
-或-
URI 中有無效的字元序列。
-或-
URI 中指定的 MS-DOS 路徑不以 c:\\ 開頭。
備註
此建構子實 ISerializable 作該類別的 Uri 介面。
另請參閱
適用於
Uri(String, Boolean)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
警告
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.
警告
This constructor has been deprecated. Use Uri(string) instead.
警告
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
警告
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
以指定的 URI 初始化該類別的新實例 Uri ,並明確控制角色逃逸。
public:
Uri(System::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("This constructor has been deprecated. 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. https://go.microsoft.com/fwlink/?linkid=14202")]
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("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated. 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. https://go.microsoft.com/fwlink/?linkid=14202")>]
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)
參數
- uriString
- String
一個用來識別要由 Uri 實例代表的資源的字串。 請注意,字串格式的 IPv6 位址必須括在括弧內。 例如,“HTTP://[2607:f8b0:400d:c06::69]”。
- dontEscape
- Boolean
true 若 uriString 完全逃逸;否則, false。
- 屬性
例外狀況
uriString 是 null。
uriString 是空的或只包含空格。
-或-
該 uriString 格式不適用。
-或-
uriString 包含太多的斬擊。
-或-
密碼 uriString 、主機名稱、檔案名稱或使用者名稱都不具效性。
-或-
所 uriString 指定的主機或權限名稱以反斜線結尾。
-或-
中 uriString 指定的埠號無效或無法解析。
-或-
字元長度 uriString 超過 65519 個字元(僅限 .NET 9 及更早版本)。
-或-
該方案 uriString 的長度以超過 1023 個字元表示。
-或-
在 中存在一個無效的字元序列 uriString。
-或-
該 MS-DOS uriString 路徑不以 c:\\ 開頭。
備註
此建構子從 URI 字串建立實 Uri 例。 它會剖析 URI,並將它放入標準格式。
參數 dontEscape 控制保留字元是否會被轉換成跳脫序列。 此參數應僅在 true 您確定 URI 中所有保留字元均已逃逸時設為。 將 為尚未完全逃逸的 URI 設值為 , true 可能會引發意想不到的行為。 強烈建議你將此參數設為 false。
若 dontEscape 設為 false,建構子會透過檢查所有百分比(%)的出現後面是否跟隨有效的跳脫序列,從而逃逸任何保留字元。 若百分比後的字元序列不有效,則該百分比將被替換為 %25。
此建構子不保證 指 Uri 涉可存取資源。
適用於
Uri(String, UriCreationOptions)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
初始化一個新的類別實例 Uri ,使用指定的 URI 及額外的 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)
參數
- creationOptions
- UriCreationOptions
這些選項可以控制 S Uri 的生成和行為。
適用於
Uri(String, UriKind)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
初始化一個新的類別實例 Uri ,使用指定的 URI。 此建構函式可讓您指定 URI 字串是否為相對 URI、絕對 URI 或不確定。
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)
參數
- uriKind
- UriKind
指定 URI 字串是相對 URI、絕對 URI 或不確定。
例外狀況
uriKind 無效。
uriString 是 null。
注意:在
uriString 包含一個相對 URI,且 uriKind 為 Absolute。
或
uriString 包含一個絕對 URI,且 uriKind 為 Relative。
或
uriString 空無一人。
-或-
該 uriString 格式未正確形成。 參見 CheckSchemeName(String)。
-或-
uriString 包含太多的斬擊。
-或-
密碼 uriString 、主機名稱、檔案名稱或使用者名稱都不具效性。
-或-
所 uriString 指定的主機或權限名稱以反斜線結尾。
-或-
中 uriString 指定的埠號無效或無法解析。
-或-
字元長度 uriString 超過 65519 個字元(僅限 .NET 9 及更早版本)。
-或-
該方案 uriString 的長度以超過 1023 個字元表示。
-或-
在 中存在一個無效的字元序列 uriString。
-或-
該 MS-DOS uriString 路徑不以 c:\\ 開頭。
備註
相對和絕對 URI 對其格式有不同的限制。 例如,相對 URI 不需要配置或授權單位。 你在 中 uriKind 指定的值必須與傳送的 uriStringURI 類型相符。 然而,若 RelativeOrAbsolute 指定為 ,URI 字串可以是相對的或絕對的。
對於 uriString,字串形式的 IPv6 位址必須以括號包覆,例如「http://[2607:f8b0:400d:c06::69]」。
適用於
Uri(Uri, String)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
根據指定的基礎 URI 與相對 URI 字串初始化該類別的新 Uri 實例。
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)
參數
- baseUri
- Uri
基底 URI。
- relativeUri
- String
要新增至基底 URI 的相對 URI。
例外狀況
baseUri 是 null。
baseUri 並非絕對 Uri 的例子。
由 和 baseUri 組合relativeUri而成的 URI 是空的或僅包含空格。
-或-
URI 中由 和 baseUri 組合relativeUri形成的方案並不成立。
-或-
URI是組合 baseUri 形成的,且 relativeUri 包含過多的斜線。
-或-
在 URI 中組合形成baseUrirelativeUri的密碼、主機名稱、檔案名稱或使用者名稱皆無效。
-或-
URI 中指定的主機或權限名稱由合併 baseUri 形成,並 relativeUri 以反斜線結束。
-或-
URI 中由 和 合併baseUrirelativeUri形成的埠號不有效或無法解析。
-或-
URI 的長度是組合 baseUri 而成, relativeUri 超過 65519 個字元(僅限 .NET 9 及更早版本)。
-或-
URI 中指定的方案長度由組合 baseUri 組成, relativeUri 超過 1023 個字元。
-或-
URI 中存在一個由 和 baseUri組合relativeUri而成的無效字元序列。
-或-
該 MS-DOS baseUri 路徑不以 c:\\ 開頭。
範例
以下範例透過將相對 URI 和 組合起來,建立一個新的類別實例Uri,形成絕對 URI http://www.contoso.com。catalog/shownew.htmhttp://www.contoso.com/catalog/shownew.htm
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())
備註
此建構子透過將 與 Uri合併baseUri來建立實relativeUri例。 若 relativeUri 為絕對 URI(包含方案、主機名稱,並可選擇埠號 Uri ),則該實例僅 relativeUri使用 。
若 有baseUri相對部分(類似/api),則該相對部分必須以斜杠結束,(類似/api/),若要在構造中baseUri保持該Uri相對部分。
此外,如果以 relativeUri 斜線開頭,則會替換 baseUri
此建構子不保證 指 Uri 涉可存取資源。
適用於
Uri(Uri, Uri)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
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)
參數
例外狀況
baseUri 並非絕對 Uri 的例子。
baseUri 是 null。
baseUri 並非絕對 Uri 的例子。
注意:在
由 和 baseUri 組合relativeUri而成的 URI 是空的或僅包含空格。
-或-
URI 中由 和 baseUri 組合relativeUri形成的方案並不成立。
-或-
URI是組合 baseUri 形成的,且 relativeUri 包含過多的斜線。
-或-
在 URI 中組合形成baseUrirelativeUri的密碼、主機名稱、檔案名稱或使用者名稱皆無效。
-或-
URI 中指定的主機或權限名稱由合併 baseUri 形成,並 relativeUri 以反斜線結束。
-或-
URI 中由 和 合併baseUrirelativeUri形成的埠號不有效或無法解析。
-或-
URI 的長度是組合 baseUri 而成, relativeUri 超過 65519 個字元(僅限 .NET 9 及更早版本)。
-或-
URI 中指定的方案長度由組合 baseUri 組成, relativeUri 超過 1023 個字元。
-或-
URI 中存在一個由 和 baseUri組合relativeUri而成的無效字元序列。
-或-
該 MS-DOS baseUri 路徑不以 c:\\ 開頭。
範例
此範例創造一個絕對 Uri 實例 absoluteUri,以及一個相對 Uri 實例 relativeUri。 接著由這兩個實例建立一個新 Uri 實例 combinedUri。
// 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
備註
此構造子透過將一個絕對Uri實例 Uri與一個相對baseUri實例 Uri合併,創建一個新relativeUri實例。 若 relativeUri 為絕對 Uri 實例(包含方案、主機名稱,並可選擇性地使用埠號), Uri 則該實例僅使用 relativeUri。
若 有baseUri相對部分(類似/api),則該相對部分必須以斜杠結束,(類似/api/),若要在構造中baseUri保持該Uri相對部分。
此外,如果 以 relativeUri 斜線開頭,則會替換 baseUri。
此建構子不保證 指 Uri 涉可存取資源。
適用於
Uri(Uri, String, Boolean)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
警告
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.
警告
This constructor has been deprecated. Use Uri(Uri, string) instead.
警告
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
警告
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
根據指定的基底與相對 URI 初始化該類別的新實例 Uri ,並明確控制角色逃脫。
public:
Uri(Uri ^ baseUri, System::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("This constructor has been deprecated. 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. 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. 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("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated. 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. https://go.microsoft.com/fwlink/?linkid=14202")>]
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)
參數
- baseUri
- Uri
基底 URI。
- relativeUri
- String
要新增至基底 URI 的相對 URI。
- dontEscape
- Boolean
true若 baseUri 且 relativeUri 完全脫離;否則 。 false
- 屬性
例外狀況
baseUri 是 null。
baseUri 並非絕對 Uri 的例子。
由 和 baseUri 組合relativeUri而成的 URI 是空的或僅包含空格。
-或-
URI 中由 和 baseUri 組合relativeUri形成的方案並不成立。
-或-
URI是組合 baseUri 形成的,且 relativeUri 包含過多的斜線。
-或-
在 URI 中組合形成baseUrirelativeUri的密碼、主機名稱、檔案名稱或使用者名稱皆無效。
-或-
URI 中指定的主機或權限名稱由合併 baseUri 形成,並 relativeUri 以反斜線結束。
-或-
URI 中由 和 合併baseUrirelativeUri形成的埠號不有效或無法解析。
-或-
URI 的長度是組合 baseUri 而成, relativeUri 超過 65519 個字元(僅限 .NET 9 及更早版本)。
-或-
URI 中指定的方案長度由組合 baseUri 組成, relativeUri 超過 1023 個字元。
-或-
URI 中存在一個由 和 baseUri組合relativeUri而成的無效字元序列。
-或-
該 MS-DOS baseUri 路徑不以 c:\\ 開頭。
備註
此建構子透過結合 Uri 與 baseUri來建立實relativeUri例。 若傳送的 URI relativeUri 為絕對 URI(包含方案、主機名稱,並可選地使用埠號 Uri ),則該實例僅使用 relativeUri。
參數 dontEscape 控制保留字元是否會被轉換成跳脫序列。 此參數應僅在 true 您確定 URI 中所有保留字元均已逃逸時設為。 將 為尚未完全逃逸的 URI 設值為 , true 可能會引發意想不到的行為。 強烈建議你將此參數設為 false。 若 dontEscape 設為 false,建構子會透過檢查所有百分比(%)的出現後面是否跟隨有效的跳脫序列,從而逃逸任何保留字元。 若百分比後的字元序列不有效,則該百分比將被替換為 %25。
此建構子不保證 指 Uri 涉可存取資源。
給呼叫者的注意事項
出於安全考量,您的應用程式不應使用來自不受信任來源的 URI 字串,且 dontEscape 設定為 true。 或者,你也可以先呼叫 IsWellFormedOriginalString() 該方法,檢查 URI 字串的有效性,再呼叫建構子。