ホームページ  >  記事  >  バックエンド開発  >  C# のタイマー

C# のタイマー

WBOY
WBOYオリジナル
2024-09-03 15:30:061095ブラウズ

C# のタイマーは、プログラミングの世界で利用できる最高の機能の 1 つです。タイマーは、サーバー側とクライアント側の両方でソフトウェア プログラムの開発において重要な役割を果たします。これらは主に、他の干渉なしに特定の時間間隔でイベントをトリガーするために使用されます。タイマーは視覚的な表現を持たないため、バックグラウンドで動作します。したがって、C# の時間の助けを借りて時間速度を増減してアニメーション シーケンスをスケジュールできるため、コードをチェックしたり、固定時間にイベントを実行したりするときにタイマー オブジェクトを使用できます。

C# のタイマーの構文

C# でタイマーを表す構文を見てみましょう:

timer = new System.Timers.Timer(3000) ;

ここでは 3 秒間のタイマー オブジェクトを作成しました。タイマー オブジェクトを作成した後、経過イベントのタイマーを設定できます。その後、以下の構文を使用してタイマーを開始できます。

timer.Elapsed += OnTimedEvent ;
timer.Enabled = true ;

C# でのタイマーの動作、実装、機能を正確に理解するために、以下に示すタイマー関数の例を説明します。

C# でタイマーを実装する例

以下は、タイマーの動作を示す C# コードの例です。

例 #1

コード:

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 ) ;
}
}

出力:

C# のタイマー

C# のタイマー

上記のコードでは、C# でのタイマーの基本機能と動作を示すために、クラス Timer_Example を宣言しました。その後、newTimer という名前を付けて新しいタイマーを宣言しています。したがって、この newTimer を使用して、タイマー関数の経過機能と間隔機能を呼び出します。すでにタイマー値を 2 秒に設定しているので、while 条件が true になるまでタイマー関数を初期化します。 DateTime.now を呼び出すと、出力画面に日付と時刻が表示されます。

例 #2

コード:

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 ) ;
}
}

出力:

C# のタイマー

上記のコードでは、「Test_Timers」という名前のクラスを宣言し、その中で「timer」という名前のプライベート静的タイマーを 1 つ宣言し、パブリック静的メインで timer を時間間隔 6 の新しいタイマーに等しいように設定しました。秒。 onTimedEvent メソッドを使用すると、日付と時刻を出力でき、条件が満たされるまで 6 秒ごとにステータスを出力し続けます。出力でわかるように、2 つのイベント間のギャップは 6 秒であり、条件が true になるまで繰り返し続けます。

例 #3

コード:

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 ) ;
}
}
}

出力:

C# のタイマー

上記のコードでは、System.Collections.Generic を使用し、System.Timers クラスを使用してその機能を使用していることがわかります。 1 つの静的クラス DemoTimers を宣言し、その中で time という名前の静的タイマーを作成しました。その後、同じく DateTime という名前の 1 つの静的リストを作成し、それが出力に保存されます。コードでタイマーの使用を開始するには、Start () メソッドを 1 つ作成し、タイマーを 5 秒に設定してから経過イベント ハンドラーを追加し、条件を true に設定する必要があります。

Elapsed_time という名前のもう 1 つのメソッドでは、考えられるイベントごとに日付と時刻を追加できます。これは、イベントの現在の時刻と日付を見つけるのに役立ちます。次に、PrintTimes という void 型のメソッドをもう 1 つ宣言しました。このメソッドを使用すると、記録されたすべての時間を印刷できます。条件が追加されると、条件が true になるまで TIMERS を出力し続けます。出力リスト内の各 var time が出力されます。

最後に、Program というクラスを作成し、その中で static void main を宣言し、タイマー クラスを開始します。 3 秒ごとに PrintTimes 関数を呼び出しているため、条件が true の場合、イベントが発生するたびに 3 秒間の休憩を挟んで結果を出力し続けます。

結論

タイマー クラスを利用すると、プログラマは数分または数秒以内にコードを定期的に呼び出すことができます。したがって、プログラムの全体的な品質を監視するには、プログラムを監視するためにタイマーが使用されます。これは静的クラスであるため、インスタンス メンバーを持つことはできません。

以上がC# のタイマーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。