I am using code:

Uri.TryCreate(sURL, UriKind.Absolute, out URI)

which works fine.

Do I need to call Uri.IsWellFormedUriString(sURL, UriKind.Absolute) ? I mean I want to know what is the use of Uri.IsWellFormedUriString when Uri.TryCreate works perfectly?

有帮助吗?

解决方案

Uri.IsWellFormedUriString calls TryCreate internally as well as calling Uri.IsWellFormedOriginalString so the results may differ from simply calling TryCreate.

From ILSpy

public static bool IsWellFormedUriString(string uriString, UriKind uriKind)
{
    Uri uri;
    return Uri.TryCreate(uriString, uriKind, out uri) && uri.IsWellFormedOriginalString();
}

From MSDN

[Uri.IsWellFormedOriginalString] indicates whether the string used to construct this Uri was well-formed and is not required to be further escaped.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top