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