C# Delay?

4 Antworten

finde im Internet kaum Möglichkeiten ein Delay von etwa 3 Sekunden zu erstellen

Du hast nicht gesucht.

Such mal nach "c# warten", erstes Ergebnis:

Thread.Sleep Methode (System.Threading) | Microsoft Docs

Aber bevor Du es nutzt: Lass es bleiben.
Ich habe in meinen Jahren Erfahrung noch nie einen vernünftigen Grund erlebt, wo man das braucht und nicht besser lösen kann.

Woher ich das weiß:Berufserfahrung

Du könntest natürlich das hier verwenden:

int milliseconds = 3000;
Thread.Sleep(milliseconds);

oder auch direkt:

Thread.Sleep(3000);

aber mit Deklaration der Variable sieht es für mich irgendwie schöner aus...

das Pausiert aber den gesamten thread für 3 Sekunden... falls da eh nix anderes passiert, dürfte das kein Problem sein.

Kommt konkret darauf an, was du erreichen möchtest.

Mit Thread.Sleep() schickst du den ganzen Thread schlafen, das Programm (so fern du kein Multithreading betreibst) wird also für 3 Sekunden gar nichts machen, auch nicht auf Hotkey Eingaben reagieren.

Eine eventuell besser Methode könnte ein Timer sein. Den startest du, nach 3 Sekunden tickt er, du lässt die entsprechende Subroutine durchführen und deaktivierst den Timer dann ggf., wenn das ganze nur einmal stattfinden soll.