Schleife eine definierte Zeitspanne lang ausführen
-
Hallo,
ich bin noch recht frisch im C# programmieren. Sorry deswegen für die vielleicht doofe Frage
Ich möchte ein programm schreiben, indem festgelegt wird, dass eine bestimmte Schleifenanweisung eine bestimmte Zeit lang ausgeführt wird (vom User zu bestimmen). Frage ist, wie ich das am besten anstelle: In der Klasse DateTime bin ich auf diverse Methoden gestoßen, wie z.B. Stopwatch, TimeSpan, etc. Jedoch bin ich bisher nicht darauf gekommen, wie ich diese Funktionalität für mein problem nutzen könnte.
Bisher habe ich mir es so vorgestellt, dass ich eine Methode schreibe, der die gewünschte Laufzeit als Parameter übergeben wird und die in der Methode befindliche (Endlos)-Schleife (z.B. Berechnung von Pi oder so)so lange ausführt, wie der User dies gewünscht hat. In Pseudo Code vielleicht so:function tueEtwas(gewünschteZeit)
{do
{
TimeSpan gelaufeneZeit = new TimeSpan();
endloseBerechnung()
{
berechne PI;
}
}while gelaufeneZeit = gewünscheZeit;
}
Ich denke, das Ganze kann nicht so schwierig sein, nur fehlen mir noch die genauen C# Syntaxkenntnisse im Detail.
Danke für die Hinweise!
Gruß...
-
Sowas ?
void tueEtwas(int ZeitInSekunden) { // Anfangszeitpunkt merken: DateTime AbbrechZeit=DateTime.Now.AddSeconds(Convert.ToDouble(ZeitInSekunden)); while (DateTime.Now<AbbrechZeit) { // Deine Berechnung } } //Einen TimeSpan kann man übrigens z.B. so bekommen: DateTime Zeit1=DateTime.Now; DateTime Zeit2=DateTime.Now.AddSeconds(2.0f); TimeSpan DifferenzZeit=Zeit2-Zeit1; // DifferenzZeit wäre in diesem Beispiel jetzt 2 Sekunden
-
BTW
Kennt C# eigentlich auch Threads?
-