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);
    }
与
        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);
    }
第一个在道德上是错误的 ...如果您的代码在2017年12月31日左右23.59.59运行,会发生什么?也许Year将是2017年和Month将1 :-)(这种情况发生的概率非常非常非常低......也许这是更可能的宇宙射线会使你的PC崩溃,因为这个原因,我认为它是只有道德上是错误的,而不是真的错了)
第二个是正确的。
| 归档时间: | 
 | 
| 查看次数: | 118 次 | 
| 最近记录: |