Uri.IsWellFormedUriString(String, UriKind) 方法

定義

透過嘗試建構包含此字串的 URI 來表示字串的格式是否正確,且確保該字串不需要進一步逸出。

public:
 static bool IsWellFormedUriString(System::String ^ uriString, UriKind uriKind);
public static bool IsWellFormedUriString (string uriString, UriKind uriKind);
public static bool IsWellFormedUriString (string? uriString, UriKind uriKind);
static member IsWellFormedUriString : string * UriKind -> bool
Public Shared Function IsWellFormedUriString (uriString As String, uriKind As UriKind) As Boolean

參數

uriString
String

用於嘗試建構 Uri 的字串。

uriKind
UriKind

UriuriString 的類型。

傳回

若字串語式正確,則為 true;否則為 false

備註

在 4.5 版之前的 .NET 版本中,根據 RFC 2396 和 RFC 2732,預設會將字串視為格式正確。 如果啟用國際資源識別碼 (IRI) 或國際化功能變數名稱 (IDN) 剖析,則會根據 RFC 3986 和 RFC 3987,將字串視為格式正確。

從 .NET 4.5 開始,不論是否啟用 IRI 或 IDN,字串一律會根據 RFC 3986 和 RFC 3987 來視為格式正確。 不過請注意,這僅適用于以 .NET 4.5 或更新版本為目標的應用程式。 以 .NET 4.0 為目標的應用程式會叫用相容性程式碼,並體驗舊版 (4.5) 行為。

如果發生下列任一情況,字串會被視為格式不佳,導致方法傳回 false

錯誤 範例
字串未正確逸出。 http://www.contoso.com/path???/file name
字串是 Uri 絕對值,表示隱含檔案 Uri c:\\directory\filename
字串是絕對 URI,在路徑之前遺漏斜線。 file://c:/directory/filename
字串包含未逸出的反斜線,即使它們會被視為正斜線也一樣 http:\\\host/path/file
字串代表階層式絕對 Uri 值,且不包含 「://」 www.contoso.com/path/file
Scheme 剖析器表示原始字串的格式不正確。 此範例取決於 URI 的配置。
從 .NET 4.5 開始,第一個區段中具有冒號 (':') 的相對 URI 不會被視為格式正確。 2013.05.29_14:33:41

如需 IRI 支援的詳細資訊,請參閱 類別的 Uri 一節。

適用於

另請參閱