为什么 Uri.TryCreate 对于像 mail:foo 这样的 Uri 返回 TRUE?
为什么使用方法 Uri.TryCreate
如果 URI 不在 Uri.Schema 中,我会得到 BOOL TRUE??
这是来自 MSDN 的 Uri.Schema: http://msdn.microsoft.com/en-us/library /system.uri.scheme.aspx
尝试例如字符串 "mail:foo"
它返回 True,我不明白为什么。
有什么想法吗?也许是 MS 框架中的错误,或者可能是我脑子里的错误:-)?
public static bool IsValidUriHttp(string uriString)
{
Uri test = null;
return Uri.TryCreate(uriString, UriKind.Absolute, out test);
}
谢谢
why using method Uri.TryCreate
I get BOOL TRUE if the URI is not in Uri.Schema??.
Here the Uri.Schema from MSDN:
http://msdn.microsoft.com/en-us/library/system.uri.scheme.aspx
Try for example a string "mail:foo"
it return True and I do not understand why.
Any ideas? Maybe a bug in MS framework or maybe a bug in my head :-)?
public static bool IsValidUriHttp(string uriString)
{
Uri test = null;
return Uri.TryCreate(uriString, UriKind.Absolute, out test);
}
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您看到文档,那么它会说:
所以它只是显示该方案,无论它是否是已知的方案。
此外,
Uri.TryCreate()
尝试使用任何它认为可以的方案创建一个 Uri。就像我尝试过这个并看看我得到了什么:
If you see the Documentation then it says that:
So it just shows the scheme no matter if it was a known scheme or not.
Also the
Uri.TryCreate()
tries to create a Uri with any kind of scheme that it feels may be okay.Like i tried this and see what i got: