gpt4 book ai didi

c# - 为什么 Uri.TryCreate 像邮件 :foo? 一样为 Uri 返回 TRUE

转载 作者:行者123 更新时间:2023-11-30 22:40:07 29 4
gpt4 key购买 nike

如果 URI 不在 Uri.Schema 中,为什么使用方法 Uri.TryCreate 得到 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);
}

谢谢

最佳答案

如果您看到 Documentation然后它说:

The Scheme property returns the scheme used to initialize the Uri instance. This property does not indicate that the scheme used to initialize the Uri instance was recognized.

所以它只是显示方案,不管它是否是已知方案。

此外,Uri.TryCreate() 会尝试使用它认为可行的任何类型的方案来创建 Uri。

就像我试过这个,看看我得到了什么:

Uri t = null;
Uri.TryCreate("rwr:dsffs",UriKind.Absolute, out t).Dump();
t.Dump();

enter image description here

关于c# - 为什么 Uri.TryCreate 像邮件 :foo? 一样为 Uri 返回 TRUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377381/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com