Uri.IsWellFormedUriString(String, UriKind) Uri.IsWellFormedUriString(String, UriKind) Uri.IsWellFormedUriString(String, UriKind) Method


文字列を使用して URI を作成する際に、文字列の形式が正しいかどうかを示し、文字列をそれ以上エスケープする必要がないことを確認します。Indicates whether the string is well-formed by attempting to construct a URI with the string and ensures that the string does not require further escaping.

 static bool IsWellFormedUriString(System::String ^ uriString, UriKind uriKind);
public static bool IsWellFormedUriString (string uriString, UriKind uriKind);
static member IsWellFormedUriString : string * UriKind -> bool


String String String

Uri の構築に使用される文字列。The string used to attempt to construct a Uri.

UriKind UriKind UriKind

Uri 内の uriString の型。The type of the Uri in uriString.


文字列の形式が正しい場合は true、それ以外の場合は falsetrue if the string was well-formed; otherwise, false.


バージョン4.5 より前の .NET バージョンでは、既定では、文字列は RFC 2396 および RFC 2732 に従って適切な形式と見なされます。In versions of .NET before version 4.5, by default the string is considered well-formed in accordance with RFC 2396 and RFC 2732. 国際化リソース識別子 (Iri) または国際化ドメイン名 (IDN) の解析が有効になっている場合、文字列は RFC 3986 および RFC 3987 に従って適切な形式と見なされます。If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing are enabled, the string is considered well-formed in accordance with RFC 3986 and RFC 3987.

.NET 4.5 以降では、IRI または IDN が有効になっているかどうかにかかわらず、文字列は常に RFC 3986 および RFC 3987 に従って適切な形式と見なされます。Beginning in .NET 4.5, strings are always considered well-formed in accordance with RFC 3986 and RFC 3987, whether or not IRI or IDN are enabled. ただし、これは .NET 4.5 以降を対象とするアプリにのみ当てはまります。Note, however, that this is only true for apps that target .NET 4.5 or later. .NET 4.0 を対象とするアプリは互換性コードを呼び出し、古い (4.5) 動作を体験します。Apps that target .NET 4.0 invoke compatibility code, and experience the old (pre-4.5) behavior.

次のいずれかの条件が発生した場合、文字列は不適切な形式と見なされ、メソッドは false を返します。The string is considered poorly formed, causing the method to return false, if any of the following conditions occur

ErrorError Example
文字列が正しくエスケープされていません。The string is not correctly escaped. http://www.contoso.com/path???/file name
文字列は、暗黙的なUriファイルUriを表す絶対パスです。The string is an absolute Uri that represents an implicit file Uri. c:\\directory\filename
文字列は絶対 URI で、パスの前にスラッシュがありません。The string is an absolute URI that is missing a slash before the path. file://c:/directory/filename
文字列には、スラッシュとして扱われる場合でも、エスケープされていない円記号が含まれていますThe string contains unescaped backslashes even if they will be treated as forward slashes http:\\\host/path/file
この文字列は階層的なUri絶対値を表し、"://" を含んでいません。The string represents a hierarchical absolute Uri and does not contain "://" www.contoso.com/path/file
のパーサー Schemeは、元の文字列が整形式ではないことを示します。The parser for the Scheme indicates that the original string was not well-formed. この例は、URI のスキームによって異なります。The example depends on the scheme of the URI.
.NET 4.5 以降では、最初のセグメントにコロン (': ') を持つ相対 Uri は、適切な形式とは見なされません。Beginning with .NET 4.5, relative URIs with a colon (':') in their first segment are not considered well-formed. 2013.05.29_14:33:41

IRI サポートの詳細については、 Uriクラスの「解説」を参照してください。For more information on IRI support, see the Remarks section for the Uri class.