Heim > Artikel > Backend-Entwicklung > Timer in C#
Timer in C# ist eine der besten Funktionen, die es in der Programmierwelt gibt. Timer spielen eine wichtige Rolle bei der Entwicklung von Softwareprogrammen sowohl auf Server- als auch auf Client-Seite. Sie dienen hauptsächlich dazu, ein Ereignis in einem bestimmten Zeitintervall ohne weitere Beeinflussung auszulösen. Der Timer arbeitet im Hintergrund, da er keine visuelle Darstellung hat. Daher können wir ein Timer-Objekt verwenden, wenn wir Code überprüfen oder ein Ereignis zu einem festen Zeitpunkt ausführen, da wir Animationssequenzen planen können, indem wir mithilfe der Zeit in C # die Zeitgeschwindigkeit erhöhen oder verringern.
Lassen Sie uns einen Blick auf die Syntax zur Darstellung von Timern in C# werfen:
timer = new System.Timers.Timer(3000) ;
Hier haben wir ein Timer-Objekt für 3 Sekunden erstellt. Nachdem wir ein Timer-Objekt erstellt haben, können wir den Timer für das abgelaufene Ereignis einstellen. Anschließend können wir den Timer über die folgende Syntax starten.
timer.Elapsed += OnTimedEvent ; timer.Enabled = true ;
Um die Funktionsweise, Implementierung und Funktionalität von Timern in C# genau zu verstehen, finden Sie unten die erläuterten Beispiele für Timer-Funktionen.
Unten finden Sie ein Beispiel für C#-Code, um die Funktionsweise von Timern zu demonstrieren:
Code:
using System ; using System.Timers ; class Timer_Example { public static void Main() { Timer newTimer = new Timer() ; newTimer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent ) ; newTimer.Interval = 2000 ; newTimer.Start() ; while ( Console.Read() != 'q' ) { ; // we can write anything here if we want, leaving this part blank won’t bother the code execution. } } public static void DisplayTimeEvent( object source, ElapsedEventArgs e ) { Console.Write( " \r{0} " , DateTime.Now ) ; } }
Ausgabe:
Im obigen Code haben wir eine Klasse Timer_Example deklariert, um die grundlegende Funktionalität und Funktionsweise von Timern in C# zu demonstrieren. Danach deklarieren wir einen neuen Timer, indem wir ihm den Namen newTimer geben. Mit diesem newTimer rufen wir also die Elapsed- und Interval-Funktionalität der Timer-Funktion auf. Wir haben den Timer-Wert bereits auf 2 Sekunden eingestellt und initialisieren dann die Timer-Funktion, bis die While-Bedingung wahr ist. Sobald wir DateTime.now aufrufen, zeigt der Ausgabebildschirm Datum und Uhrzeit an.
Code:
using System ; using System.Timers ; public class Test_Timers { private static Timer timer ; public static void Main() { timer = new System.Timers.Timer() ; timer.Interval = 6000 ; timer.Elapsed += OnTimedEvent ; timer.AutoReset = true ; timer.Enabled = true ; Console.WriteLine( " Please enter any key to exit from the code anytime... " ) ; Console.ReadLine() ; } private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) { Console.WriteLine( " Event : {0} " , e.SignalTime ) ; } }
Ausgabe:
Im obigen Code haben wir eine Klasse mit dem Namen „Test_Timers“ deklariert, in der wir einen privaten statischen Timer mit dem Namen „timer“ deklariert haben und im öffentlichen statischen Hauptteil „timer equal“ auf neue Timer mit einem Zeitintervall von 6 gesetzt haben Sekunden. Mit der onTimedEvent-Methode können wir das Datum zusammen mit der Uhrzeit drucken und den Status alle 6 Sekunden drucken, bis die Bedingung erfüllt ist. Wie Sie in der Ausgabe sehen können, beträgt die Lücke zwischen den beiden Ereignissen 6 Sekunden und wird so lange wiederholt, bis die Bedingung erfüllt ist.
Code:
using System ; using System.Collections.Generic ; using System.Timers ; static class DemoTimers { static Timer time ; static List <DateTime> output = new List <DateTime> () ; public static void Start() var timer = new Timer(5000) ; timer.Elapsed += new ElapsedEventHandler(Elapsed_time ) ; timer.Enabled = true ; time = timer ; } static void Elapsed_time( object sender , ElapsedEventArgs e ) { otuput.Add(DateTime.Now) ; } public static void PrintTimes() { if ( otuput.Count> 0 ) { Console.WriteLine( " TIMERS : " ) ; foreach ( var time in otuput ) { Console.Write(time.ToShortTimeString() + " " ) ; } Console.WriteLine() ; } } } class Program { static void Main() { DemoTimers.Start() ; while ( true ) { DemoTimers.PrintTimes() ; Console.WriteLine( " WAITING To Print" ) ; System.Threading.Thread.Sleep( 2000 ) ; } } }
Ausgabe:
Im obigen Code können Sie sehen, dass wir System.Collections.Generic und System.Timers-Klassen verwenden, damit wir deren Funktionalitäten nutzen können. Wir haben eine statische Klasse DemoTimers deklariert, in der wir einen statischen Timer mit dem Namen time erstellt haben. Anschließend haben wir eine statische Liste ebenfalls mit dem Namen DateTime erstellt, die in der Ausgabe gespeichert wird. Um mit der Verwendung von Timern in unserem Code zu beginnen, erstellen wir eine Methode Start(), indem wir den Timer auf 5 Sekunden einstellen, dann einen Ereignishandler für abgelaufene Ereignisse hinzufügen und dann die Bedingung auf „true“ setzen müssen.
Eine weitere Methode mit dem Namen Elapsed_time, mit der wir Datum und Uhrzeit für jedes mögliche Ereignis hinzufügen können, hilft dabei, die aktuelle Uhrzeit und das aktuelle Datum für das Ereignis herauszufinden. Dann haben wir eine weitere Methode namens PrintTimes vom Typ void deklariert. Mit Hilfe dieser Methode können wir die gesamte aufgezeichnete Zeit ausdrucken. Wenn die Bedingung hinzugefügt wird, werden die TIMER so lange gedruckt, bis die Bedingung erfüllt ist. Da es für jede Var-Zeit in der Ausgabeliste gedruckt wird.
Schließlich haben wir eine Klasse namens Program erstellt, in der static void main deklariert wird und wir dann die Timer-Klasse starten. Wir rufen die PrintTimes-Funktion alle 3 Sekunden auf. Wenn die Bedingung erfüllt ist, werden die Ergebnisse nach 3 Sekunden Pause zwischen jedem aufgetretenen Ereignis weiter gedruckt.
Mit Hilfe der Timer-Klasse kann ein Programmierer regelmäßig Code innerhalb weniger Minuten oder Sekunden aufrufen. Um die Gesamtqualität des Programms zu überwachen, werden daher Timer zur Überwachung des Programms verwendet. Da es sich um eine statische Klasse handelt, kann sie keine Instanzmitglieder haben.
Das obige ist der detaillierte Inhalt vonTimer in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!