webForumDet fria alternativet

for loop med DateTime

3 svar · 285 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Hej

Går det inte att köra en for loop med DateTime?
Jag får det inte att fungera verkar loopa i alla oändlighet.

for (DateTime x = DateTime.Now; x < DateTime.Now.AddDays(7); x.AddDays(1))
        {
            strDatum = x.ToShortDateString() + "<br />";
        }
PMedlem sedan jan. 20012 204 inlägg
#2

Det ska inte vara

x = x.AddDays(1)

i slutet?

JonMedlem sedan juli 20011 304 inlägg
#3

Precis som P skriver:

DateTime.Now.AddDays(7) kommer alltid att vara idag + 7 dagar och
x.AddDays(1) kommer alltid att vara idag + 1 dag, dvs den modifieras aldrig.

Du är säkert van vid att använda i++ i en for-sats vilket ju faktiskt räknar upp i.

Det blir sådeles:

for (DateTime x = DateTime.Now; x < DateTime.Now.AddDays(7); x = x.AddDays(1))
        {
            strDatum = x.ToShortDateString() + "<br />";
        }

Sen undrar jag vidare om du inte även skall bygga på din strDatum med alla datum istället för att skriva över den:

strDatum += x.ToShortDateString() + "<br />";

AddeladdeMedlem sedan jan. 20013 406 inlägg
#4

Jo visst ska det vara så. Blind idag :)

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)