Uri.IsWellFormedUriString(String, UriKind) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
透過嘗試建構包含此字串的 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
參數
傳回
若字串語式正確,則為 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 一節。