cub71 Skrevet 10. september 2006 Del Skrevet 10. september 2006 Kan noen si hvorfor denne ikke "fyrer"? DateTime videre; videre = DateTime.Now; videre.AddSeconds(3); while (videre > DateTime.Now) { } Denne funker: using System.Threading; thread.sleep(3000); men hvorfor funker ikke min egen lille metode? Lenke til kommentar
Gråskjegg Skrevet 10. september 2006 Del Skrevet 10. september 2006 Kan noen si hvorfor denne ikke "fyrer"? DateTime videre; videre = DateTime.Now; videre.AddSeconds(3); while (videre > DateTime.Now) { } Denne funker: using System.Threading; thread.sleep(3000); men hvorfor funker ikke min egen lille metode? 6839599[/snapback] Tja, det kan hende at kompilatoren ser at du ikke gjør noe i while-løkka, slik at det er 'trygt' å fjerne den. Sjekk binærfila di med reflector eller ildasm for å se om while-løkka i det hele tatt er der. - grå - Lenke til kommentar
j000rn Skrevet 10. september 2006 Del Skrevet 10. september 2006 (endret) videre = videre.AddSeconds(3); Eller: DateTime videre = DateTime.Now.AddSeconds( 3 ); while( videre > DateTime.Now ); Eller bare: for( DateTime tmp = DateTime.Now.AddSeconds( 3 ); tmp > DateTime.Now ; ) ; Btw; while(); ekke så veldig snillt med cpu'en din. Start task-manager og se hva som skjer... Endret 10. september 2006 av jorn79 Lenke til kommentar
wolf5 Skrevet 11. september 2006 Del Skrevet 11. september 2006 Tips om du VIL bruke while løkken. Inni den slenger du inn en liten pause for hver runde den tar. DateTime videre; videre = DateTime.Now; videre = videre.AddSeconds(3); while (videre > DateTime.Now) { System.Threading.Thread.Sleep(1000); } Da går ikke CPUen i taket. Alle slike vente løkker du lager så bør du legge inn en eller annen form for venting. Tilogmed System.Threading.Thread.Sleep(1) gjør at CPUen ikke går i taket. Lenke til kommentar
BpB Skrevet 14. september 2006 Del Skrevet 14. september 2006 (endret) Tips om du VIL bruke while løkken.Inni den slenger du inn en liten pause for hver runde den tar. DateTime videre; videre = DateTime.Now; videre = videre.AddSeconds(3); while (videre > DateTime.Now) { System.Threading.Thread.Sleep(1000); } Tja... Nå var hele vitsen å ha en liten pause, så da holder det fint med Thread.Sleep() Ellers var mitt problem at jeg skrev bare videre.AddSeconds(3) og ikke videre = videre.AddSeconds(3) som jorn79 skrev. Endret 14. september 2006 av BpB Lenke til kommentar
Gråskjegg Skrevet 15. september 2006 Del Skrevet 15. september 2006 videre = videre.AddSeconds(3); 6840726[/snapback] Om jeg hadde hatt ei krone for hver gang jeg har gjort det samme, ville jeg faktisk hatt nok til en kronesis. Allikevel husker jeg det ikke til neste gang. Sukk. - grå - Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå