首頁 > 後端開發 > C#.Net教程 > C# 中的定時器

C# 中的定時器

WBOY
發布: 2024-09-03 15:30:06
原創
1153 人瀏覽過

C# 中的計時器是程式設計世界中最好的功能之一。定時器在伺服器端和客戶端軟體程式的開發中都起著至關重要的作用。它們主要用於在沒有任何其他幹擾的情況下以特定的時間間隔觸發事件。計時器在後台工作,因為它沒有任何視覺表示。因此,當我們檢查程式碼或在固定時間執行任何事件時,我們可以使用計時器對象,因為我們可以在 C# 中藉助時間來增加或減少時間速度來安排動畫序列。

C# 中定時器的語法

讓我們來看看 C# 中表示計時器的語法:

timer = new System.Timers.Timer(3000) ;
登入後複製

這裡我們建立了一個 3 秒的計時器物件。建立計時器物件後,我們可以為經過的事件設定計時器,然後我們可以透過以下語法啟動計時器。

timer.Elapsed += OnTimedEvent ;
timer.Enabled = true ;
登入後複製

為了準確理解 C# 中 Timer 的工作、實現和功能,下面給出了 Timer 函數的解釋示例。

用 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# 中的定時器

在上面的程式碼中,我們宣告了一個類別 Timer_Example 來示範 C# 中計時器的基本功能和工作原理。之後,我們透過命名 newTimer 來聲明一個新的計時器。因此,使用這個 newTimer,我們呼叫計時器函數的 elapsed 和 Interval 函數。我們已經將計時器值設為 2 秒,然後初始化計時器函數,直到 while 條件成立。一旦我們呼叫 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」的私有靜態定時器,並且在公共靜態主函數中我們將定時器設定為等於新定時器,時間間隔為6秒。透過 onTimedEvent 方法,我們可以列印日期和時間,並且每 6 秒列印一次狀態,直到條件成立。正如您在輸出中看到的,兩個事件之間的間隔為 6 秒,並且它將繼續重複,直到條件成立。

範例#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 類,以便我們可以使用它們的功能。我們宣告了一個靜態類別 DemoTimers,在其中建立了一個名為 time 的靜態計時器,之後,我們建立了一個名為 DateTime 的靜態列表,並將其儲存在輸出中。為了開始在我們的程式碼中使用計時器,我們建立了一個 Start() 方法,我們將計時器設為 5 秒,然後新增經過的事件處理程序,然後我們必須將條件設為 true。

還有一個名為 Elapsed_time 的方法,我們可以在其中為每個可能的事件添加日期和時間,這將有助於找出事件的當前時間和日期。然後我們又宣告了一個名為 PrintTimes 的 void 類型方法。借助此方法,w可以列印所有設定的記錄時間。如果新增了條件,它將繼續列印計時器,直到條件為真為止。因為它將在輸出列表中列印每個 var 時間。

最後,我們建立了一個名為 Program 的類,在其中宣告了 static void main,然後我們啟動計時器類別。我們每 3 秒呼叫一次 PrintTimes 函數,然後如果 while 條件成立,它將在每個事件發生之間的 3 秒 f 中斷後繼續列印結果。

結論

借助定時器類,程式設計師可以在幾分鐘或幾秒鐘的時間內定期呼叫程式碼。因此,為了監控節目的整體質量,採用定時器來監控節目。它是一個靜態類,因此它不能有實例成員。

以上是C# 中的定時器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板