我正在使用以下代码来验证 url,但在这两种情况下的问题
检查结果为真。我应该如何在第二个选项中得到错误?

这里 bool 是真的

 bool isWellFormedUriString = Uri.IsWellFormedUriString("http://stackoverflow.com/", UriKind.RelativeOrAbsolute);

这也是真的
 bool isWellFormedUriString = Uri.IsWellFormedUriString("ddddd", UriKind.RelativeOrAbsolute);

现在当我做_uri = new Uri(_url); 我有异常....

最佳答案

字符串 ddddd 可能是完整 URI 的有效“部分”,因此使用 RelativeRelativeOrAbsolute 返回 true。

尝试将第二个参数更改为 UriKind.Absolute :

bool isWellFormedUriString  // returns true
    = Uri.IsWellFormedUriString("http://stackoverflow.com/", UriKind.Absolute);

bool isWellFormedUriString  // returns false
    = Uri.IsWellFormedUriString("ddddd", UriKind.Absolute);

docs :

关于c# - URL 验证 IsWellFormedUriString 始终返回 true,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21253325/

10-09 13:00