PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C#] Schlaufe durchlaufen bis Taste gedrückt wird?


Lord_X
2009-01-20, 09:55:18
Hallo

Kann mir jemand schnell mal ein Beispiel zeigen für so was?
Alle 5 Sekunden was auf die Console schreiben bis ESC gedrückt wird.
Ich denke es müsste eine "do while" Schlaufe sein aber irgendwo hab ich einen Knopf...

Danke

Novox/work
2009-01-20, 11:16:08
Hallo

Kann mir jemand schnell mal ein Beispiel zeigen für so was?
Alle 5 Sekunden was auf die Console schreiben bis ESC gedrückt wird.
Ich denke es müsste eine "do while" Schlaufe sein aber irgendwo hab ich einen Knopf...

Danke


static void Main(string[] args)
{
System.Threading.Timer t = new System.Threading.Timer((state) => { Console.WriteLine("Taste drücken..."); }, null, 0, 5000);

Console.ReadKey(true);
}

Gnafoo
2009-01-20, 12:49:31
Ich habe noch zwei andere Varianten.
Ohne Multi-Threading:


while (!Console.KeyAvailable)
{
Console.WriteLine("Hallo, Welt!");
Thread.Sleep(100);
}


Mit Multi-Threading:


static BackgroundWorker worker;

static void Main(string[] args)
{
worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.WorkerSupportsCancellation = true;

worker.RunWorkerAsync();
Console.ReadKey();
worker.CancelAsync();
}

static void worker_DoWork(object sender, DoWorkEventArgs e)
{
while (!worker.CancellationPending)
{
Console.WriteLine("Hallo, Welt!");
Thread.Sleep(100);
}
}

Lord_X
2009-01-20, 16:09:05
Vielen Dank :)