下面就为大家详细讲解如何自定义基于控制台的Timer实例。
准备工作
在使用C#自定义基于控制台的Timer实例之前,我们需要先在命名空间中引用System.Threading命名空间。
using System.Threading;
接着我们需要定义Timer对象和定时器事件处理程序,代码如下:
//定义Timer对象
Timer timer = null;
//定义定时器事件处理程序
void timerCallback(object state)
{
//定时器事件处理程序的代码
}
创建Timer实例
接下来,我们需要创建Timer实例,定义定时器的时间间隔和启动定时器。代码如下:
//创建Timer实例
timer = new Timer(timerCallback, null, 0, 1000);
//第一个参数为定时器事件处理程序,第二个参数为传递给定时器事件处理程序的参数,
//第三个参数为定时器第一次执行的时间,第四个参数为定时器执行的时间间隔
在上面的代码中,我们定义了一个定时器,在0毫秒后开始执行定时器事件处理程序,每1000毫秒执行一次。
取消Timer实例
如果需要取消定时器,我们需要调用Timer实例的Dispose()方法,代码如下:
//取消定时器
timer.Dispose();
示例说明
示例一
下面是一个简单的示例,每一秒输出一句Hello World。
using System;
using System.Threading;
namespace ConsoleTimerExample1
{
class Program
{
static void Main(string[] args)
{
Timer timer = null;
void timerCallback(object state)
{
Console.WriteLine("Hello World!");
}
timer = new Timer(timerCallback, null, 0, 1000);
Console.ReadKey();
}
}
}
在该示例中,我们创建了一个Timer对象,并定义了一个定时器事件处理程序,在定时器事件处理程序中每一秒输出一句Hello World。
示例二
下面是一个稍微复杂一些的示例,每隔一定的时间向控制台输出不同的信息。
using System;
using System.Threading;
namespace ConsoleTimerExample2
{
class Program
{
static void Main(string[] args)
{
Timer timer = null;
void timerCallback(object state)
{
Console.WriteLine($"Time: {DateTime.Now}, Message: {state.ToString()}");
}
timer = new Timer(timerCallback, "Task 1", 0, 5000);
Thread.Sleep(10000);
timer.Change(0, 10000);
timer.Dispose();
Console.ReadKey();
}
}
}
在该示例中,我们创建了一个Timer对象,并定义了一个定时器事件处理程序,在定时器事件处理程序中输出当前时间和传递给定时器的参数信息。
在该示例中,我们先延时10秒,然后改变定时器的时间间隔,使得定时器事件处理程序在10秒后每10秒被调用一次,并在定时器事件处理程序中输出不同的信息。
以上就是关于C#自定义基于控制台的Timer实例的详细攻略。希望可以对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#自定义基于控制台的Timer实例 - Python技术站