我最近在使用一个DateTime
对象,并写了类似这样的代码:
DateTime dt = DateTime.Now;
dt.AddDays(1);
return dt; // still today's date! WTF?
AddDays()
的智能感知文档称它会将一天添加到日期上,但实际上它只是返回一个将一天添加后的日期,所以你需要这样写:
DateTime dt = DateTime.Now;
dt = dt.AddDays(1);
return dt; // tomorrow's date
这个问题之前已经让我多次吃过亏,因此我认为记录最严重的C#陷阱会很有用。