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

Mea*_*een 0 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);
    }
Run Code Online (Sandbox Code Playgroud)

        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);
    }
Run Code Online (Sandbox Code Playgroud)

xan*_*tos 5

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

第二个是正确的。