C#中Timer定时器用法实例

阿麦
阿麦
发布时间:2026-10-14| 4人浏览过
原创

C#中的System.Timers.Timer常用于服务器端或需要精确控制时间的应用场景。本文将演示如何配置Timer以每隔1秒(1000毫秒)触发一次事件,并在控制台输出当前时间。该示例包含完整的初始化、事件绑定及运行循环代码。

结果与目标

实现一个后台定时器,无需外部轮询即可定期执行指定操作。在此示例中,目标是每秒钟在控制台打印一次系统当前时间,直到用户按下 'q' 键退出程序。

准备条件

  • 环境:C# (.NET Framework 或 .NET Core/.NET 5+)
  • 核心类:需引入 System 和 System.Timers 命名空间。

真实操作顺序

第一步:创建Timer实例并绑定事件

目的:初始化定时器对象并关联触发时的回调函数。这是执行后续定时逻辑的基础入口。

操作:

  1. 声明并实例化 Timer 对象。
  2. 将自定义的处理方法附加到 Elapsed 事件上。
using System;
using System.Timers;

class TestTimer
{
  public static void Main ()
  {
    // 1. 创建定时器实例
    Timer timer = new Timer();
    
    // 2. 绑定 Elapsed 事件处理器
    timer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent);
    
    // ... 后续代码

第二步:配置参数并启动定时器

目的:设置触发频率并激活定时器进入工作状态。

操作:

  1. 设置 Interval 属性,单位为毫秒。此处设为 1000(即1秒)。
  2. 调用 Start() 或设置 Enabled = true 来启动定时器。
    // 设置间隔时间为1000毫秒
    timer.Interval = 1000;
    
    // 启动定时器
    timer.Start();
    // 或者直接设置 enabled 属性
    // timer.Enabled = true;

第三步:定义事件处理方法

目的:明确定时器触发时需要执行的具体业务逻辑。

操作:编写一个符合 ElapsedEventHandler 签名的静态方法。该方法接收 object source 和 ElapsedEventArgs e 参数。

  public static void DisplayTimeEvent(object source, ElapsedEventArgs e)
  {
    // 获取触发时间并写入控制台
    Console.Write("{0}, DateTime.Now); 
  }

第四步:维持主线程运行

目的:防止主程序提前结束导致进程终止。定时器运行在后台线程,因此需要一个阻塞机制来保持前台存活。

操作:在主线程中等待用户输入。

    // 等待用户输入 'q' 以结束程序
    while (Console.Read() != 'q')
    {
      //-------------
    }
  }

完成判断

运行程序后,若控制台每隔一秒钟刷新显示一次如 DateTime.Now 的格式的时间字符串,且按下 'q' 后可正常退出,则说明Timer配置成功。

简要总结

C#中使用System.Timers.Timer可以非常方便地实现周期性任务调度。关键在于正确理解其异步特性以及确保应用程序主生命周期足够长以覆盖定时任务的执行时间。以上就是C#中Timer定时器用法实例的详细内容,更多关于C#定时器编程的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。