2011-08-29 147 views
12

我想利用forDateTime這樣的:for循環和DateTime問題

for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d.AddDays(1)) 
{ 
    // ... 
} 

但問題是,d不會增加。有沒有人知道問題是什麼?

回答

21

您需要使用:

for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1)) 
{ 

當你調用d.AddDays,它返回一個日期時間,在不改變你已經創建了一個。

+0

哇。謝啦 :) –

2

返回一個新的日期時間,增加了天的指定數量的此實例的 值。

此方法不會更改此DateTime的值。相反,它 返回一個新的DateTime,其值是此操作的結果。

MSDN

所以......這應該是如下

for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1)) 
1

或可替代

d += TimeSpan.FromDays(1);