vb.net - Microsoft.VisualBasic.Now与System.DateTime.Now

标签 vb.net datetime

与System.DateTime.Now相比,使用Microsoft.VisualBasic.DateAndTime.Now有什么区别吗?

我似乎记得曾经读过一篇文章,说MS.VB命名空间仅用于旧式使用,并且比使用 native .net类要慢得多。

最佳答案

在某些情况下,使用VB namespace 的速度可能会较慢(由于增加的功能和/或灵活性,不是因为MS希望VB速度较慢)。

但是对于DateAndTime.Now,情况并非如此。这只是对DateTime.Now调用的包装。

我怀疑该调用将由JIT编译器内联,因此它不会使您的代码变慢(在为Release进行编译时)。

证明:这是DateAndTime中的IL。

.method public specialname static valuetype [mscorlib]System.DateTime get_Now() cil managed
{
    .maxstack 1
    .locals init (
        [0] valuetype [mscorlib]System.DateTime time)
    L_0000: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now()
    L_0005: ret 
}

这与以下内容完全相同:
Return DateTime.Now

关于vb.net - Microsoft.VisualBasic.Now与System.DateTime.Now,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3891295/

相关文章:

asp.net-mvc - MVC 授权属性拒绝

c# - 除当前日期外,格式为 "ddd"的 DateTime.TryParseExact 在所有日期均失败

python - 在时间戳表上旋转的 Pandas 返回意外结果

php - mysql时间和php时间不一样

html - vb.net 获取 HTML 元素的样式

vb.net - 验证 UTF32->ASCII

vb.net - 如何获取远程文件的最后修改值?

mysql - 如何使用文本框值作为 SQL 连接字符串

python - dateutils rrule 返回相隔 2 个月的日期

sql - varchar 日期时间转换错误