首页  >  文章  >  后端开发  >  C# 中的定时器

C# 中的定时器

WBOY
WBOY原创
2024-09-03 15:30:061123浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:C# Interface下一篇:C# Serialization