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,字符串被视为格式良好。 如果启用了国际资源标识符 (IIS) 或国际化域名 (IDN) 分析,则根据 RFC 3986 和 RFC 3987,该字符串被视为格式良好。
从 .NET 4.5 开始,始终根据 RFC 3986 和 RFC 3987(无论是否启用 IRI 或 IDN)将始终被视为格式良好的字符串。 但是,请注意,这仅适用于面向 .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 “备注”部分。