重复使用DateTime.Today会对性能产生影响吗?

时间:2017-03-08 12:53:26

标签: c# performance datetime

重复使用DateTime.Today会对性能产生负面影响吗?将变量中的值保存得更有效吗?

我根据今天的日期编写了一些计算新日期的函数。为了实现这一点,我相对经常使用DateTime.Today。我想知道将值保存在变量中是否更有效并使用变量而不是DateTime.Today,还是没有区别?

    public static DateTime GetFirstDateInThePast()
    {
        var calculatedYear = DateTime.Today.Year;
        var calculatedMonth = DateTime.Today.Month < 7 ? 1 : 7;
        var day = 1;

        return new DateTime(calculatedYear, calculatedMonth, day);
    }

VS

        public static DateTime GetFirstDateInThePast()
    {
        var today = DateTime.Today;

        var calculatedYear = today.Year;
        var calculatedMonth = today.Month < 7 ? 1 : 7;
        var day = 1;

        return new DateTime(calculatedYear, calculatedMonth, day);
    }

1 个答案:

答案 0 :(得分:5)

第一个是道德错误 ...如果您的代码在2017年12月31日23.59.59左右运行会怎样?也许Year 2017 Month 1 :-)(发生这种情况的概率非常非常低......可能宇宙射线很可能会让你的PC崩溃,因此我认为它只是在道德上是错误的,并不是真的错了)

第二个是正确的。