DateTime.解析依赖于COM

本文关键字:COM 依赖于 DateTime | 更新日期: 2023-09-27 18:18:40

我偶然看到一篇博客文章说DateTime.Parse依赖于COM。我还没能找到证实这一说法的证据。

如果是这种情况,我希望找到有关这方面的文档,最好来自微软。

来源:http://blog.aasheim.org/2008/04/dont-use-datetimeparse-use.html

DateTime.解析依赖于COM

我相信你指的是这个博客,上面写着:

似乎很少有人知道DateTime.Parse()是COM依赖,邪恶的人。此外,即使是在微软。NET,没有保证DateTime.Parse()在您的这台机器可以在其他机器下使用。基本上DateTime.Parse ()是为那些不介意不可预测行为的新手准备的。

似乎作者的用词不太好;他们似乎试图警告读者的是DateTime.Parse区域性依赖的-解析操作的成功/失败/结果将取决于当前的区域性。当开发人员试图以文化敏感/独立的方式处理表示日期时间的文本时,这一点很重要。

也就是说,Parse是否具有实际的com依赖关系并不重要。由于没有直接记录,因此可以通过添加/删除COM依赖来更改实现,而无需通知。

是的,它依赖于COM。从这个MSDN页面:

有两种解析方法可以用来解析字符串:parse和ParseExact。Parse方法的功能植根于COM(它本身植根于旧版本的Visual Basic),从字符串到日期的转换无论花费多少都可以进行。不正确解析的风险是一个令人遗憾的副作用,对于必须同时处理dd/mm/yymm/dd/yy日期的人来说,这种风险是显而易见的。DateTime。Microsoft . net Framework中的Parse方法的目标与其前身非常相似,但不幸的是,它也存在一些相同的问题。代码比较慢,因为额外的检查需要时间,而且总会有一些新格式没有被正确检测到。您可能还记得,在那些较老的产品中,这种行为有时被轻蔑地称为"邪恶的日期解析"。