2010-08-11 16 views
18

Bu döngüye sahibim, amacı çeşitli tarihler arasında geçiş yapmak ve veritabanına girişleri otomatikleştirmek için bazı mantık yürütmek. Sorun şu ki, artan bölüm, date.AddDays (1.0) çalışmıyor ve her zaman aynı sonuç, sonsuz bir döngüye neden oluyor. Herhangi bir anlayış?DateTime'ı bir For döngüsünde kullanma Arttırma tarihi çalışmıyor

for (DateTime date = DateTime.Now; futureDate.CompareTo(date) > 0; date.AddDays(1.0)) 
{ 
    // logic here 
} 

cevap

55

DateTime.AddDaysdate değiştirmeden yeni bir örneğini döndürür. Şu anda bu yeni örneği atıyorsun.

for (DateTime date = DateTime.Now; futureDate.CompareTo(date) > 0; date = date.AddDays(1.0)) 
{ 
    // logic here 
} 

Ayrıca emin değilim sen < operatörü kullanabilirsiniz zaman CompareTo neden aradığını: Bunun yerine, yapmanız gereken. Ben < operatörün niyet açıktır oysa CompareTo(date) > 0, bir an için hiç düşünmeden doğru olup olmadığını söyleyemem:

for (DateTime date = DateTime.Now; date < futureDate; date = date.AddDays(1.0)) 
{ 
    // logic here 
} 
7

DateTime sabittir. Değiştir: date = date.AddDays (1.0)

İlgili konular