C#中timer定时器用法实例
简介
C#中的timer定时器用于在指定时间间隔内重复执行某些代码,非常常用。下面将详细讲解timer的用法以及两个实例。
用法
C#中的timer定时器主要分为两种:System.Threading.Timer和System.Timers.Timer。这两种timer主要的区别是使用方式不同。下面分别进行介绍。
System.Threading.Timer
- 首先需要先创建一个 timer 对象, 代码如下:
Timer t = new Timer(callback, null, delay, period);
其中,callback是一个委托类型的参数,delay是一个引用类型的object参数,period是一个整型参数。 - callback方法需要自己编写,该方法中可以执行相应的操作。注意,该方法需要符合ThreadStart委托定义的方法格式。
- Timer中的第二个参数表示state参数,该参数是可选的,如果不需要传递参数,可以传入null;否则可以传入一个object类型的实例。
- Timer中的第三个和第四个参数分别是指定timer第一次执行回调函数的等待时间以及定时执行周期,如果需要只执行一次则传入Timeout.Infinite或者-1.
System.Timers.Timer
- 首先需要先创建一个 timer 对象,代码如下:
Timer t = new System.Timers.Timer(interval);
其中interval表示定时间隔。 - 通过timer的Elapsed事件来执行代码,代码如下:
t.Elapsed += new ElapsedEventHandler(callback);
其中callback方法需要自己编写,该方法中可以执行相应的操作。注意,可以传入一个object类型的sender参数和一个ElapsedEventArgs类型的e参数。 - 开始执行定时器,通过timer的Start()方法来启动定时器。如:
t.Start();
- 停止定时器,通过timer的Stop()方法来停止定时器。如:
t.Stop();
示例
示例1:System.Threading.Timer实例
以下是一个使用System.Threading.Timer实现输出当前时间的示例:
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Timer t = new Timer(printTime, null, 0, 1000);
Console.ReadLine();
}
static void printTime(Object state)
{
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss"));
}
}
以上代码会每隔1秒输出当前时间。
示例2:System.Timers.Timer实例
以下是一个使用System.Timers.Timer实现计时器的示例:
using System;
using System.Timers;
class Program
{
static int count = 0;
static void Main(string[] args)
{
Timer t = new System.Timers.Timer(1000);
t.Elapsed += new ElapsedEventHandler(countTime);
t.Start();
Console.ReadLine();
}
static void countTime(Object sender, ElapsedEventArgs e)
{
Console.WriteLine(count);
count++;
}
}
以上代码会每隔1秒输出计数器的值,并且计数器会每次输出自增1。
以上就是关于C#中timer定时器用法的详细说明以及两个实例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中timer定时器用法实例 - Python技术站