2017-08-04 112 views
3

我有一個for循環日期時間如何counter不增加。我沒有看到原因。你能幫我嗎?日期時間在For循環

private void ubGO_Click(object sender, EventArgs e) 
{ 
    DateTime startDate = udteMin.DateTime.Date; 
    DateTime endDate = udteMax.DateTime.Date; 

    for (DateTime counter = startDate; counter <= endDate; counter.AddDays(1)) 
    { 
     MessageBox.Show(counter.Date.ToString() + "   " + counter.AddDays(1).Date.ToString()); 
    } 
} 

回答

6

AddDays返回一個新的DateTime對象。它不會改變你現有的一個。你需要重新分配計數器的結果AddDays

counter = counter.AddDays(1); 
+0

不應該在IDE中有這樣的警告? – hoodaticus

+1

是啊取決於你的IDE和設置,你可以得到一個警告,你扔掉了方法調用的結果 –