我正试图在for
上使用DateTime
,如下所示:
for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d.AddDays(1))
{
// ...
}
但问题是d
没有增加。有没有人知道问题是什么?
答案 0 :(得分:21)
您需要使用:
for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1))
{
当您致电d.AddDays
时,它会返回 new DateTime,而不会更改您已创建的日期。
答案 1 :(得分:7)
d.AddDays(1)实际上并没有向d添加一天。它返回新的日期时间对象比d大1天。
答案 2 :(得分:2)
返回一个新的DateTime,它将指定的天数添加到 此实例的值。
此方法不会更改此DateTime的值。相反,它 返回一个新的DateTime,其值是此操作的结果。
所以......应该如下
for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1))
答案 3 :(得分:1)
或者
d += TimeSpan.FromDays(1);