【C#】C#中System.Timers.Timer定时触发事件的计时器类,运用

System.Timers.Timer 类用于创建定时器,它可以在指定的时间间隔内触发事件。

创建 Timer 实例: 使用 new System.Timers.Timer() 创建一个新的定时器实例。

设置定时器属性: 设置定时器的属性,主要包括 Interval(触发事件的时间间隔)和 AutoReset(指定是否重复触发事件)。

订阅 Elapsed 事件: 使用 Elapsed 事件来定义在时间间隔到达时执行的操作。

启动定时器: 调用 Start 方法启动定时器。

停止定时器(如果需要): 可以使用 Stop 方法停止定时器。

csharp 复制代码
using System;
using System.Timers;

class Program
{
    private static System.Timers.Timer myTimer;

    static void Main()
    {
        // 创建定时器实例
        myTimer = new System.Timers.Timer();

        // 设置触发事件的时间间隔为 1秒 
        myTimer.Interval = 1000;

        // 设置 AutoReset 为 true,使定时器在每个时间间隔到达时重置并触发 Elapsed 事件
        myTimer.AutoReset = true;//当 AutoReset 设置为 false 时,计时器只会在第一次触发 Elapsed 事件后停止,除非手动调用 Start 方法重新启动计时器。AutoReset 属性的默认值是 true

        // 指定 Elapsed 事件的处理方法
        myTimer.Elapsed += OnTimerElapsed;

        // 启动定时器
        myTimer.Start();

        Console.WriteLine("Press Enter to stop the timer.");
        Console.ReadLine();  // 阻塞主线程等待用户输入

        // 停止定时器
        myTimer.Stop();
        Console.WriteLine("Timer stopped. Press Enter to exit.");
        Console.ReadLine();
    }

    // Elapsed 事件的处理方法
    private static void OnTimerElapsed(object sender, ElapsedEventArgs e)
    {
        Console.WriteLine("Timer elapsed! Performing some task...");

        // 在这里可以添加定时器触发时要执行的操作

        Console.WriteLine("Task completed.");
    }
}
相关推荐
leoZ2319 小时前
第 8 篇:与 AI 协作的工作流 + 完整案例
前端·人工智能·神经网络·自然语言处理·性能优化·c#·php
fujisheng66111 小时前
Unity 异步 UI 实战:取消令牌、版本校验与旧句柄隔离
c#·unity3d
额鹅恶饿呃11 小时前
随着CentOS官方停服的时间越来越久,大量仍在使用CentOS7的企业和运维从业者
java·python·算法·c#·ruby
乌药ice11 小时前
c#中一个多线程安全的HashSet
开发语言·c#
lfSeanDragon12 小时前
数据结构-前缀树(Trie)
开发语言·c#
张人玉12 小时前
基于 C# WinForms + .NET 8 + SQLite + TCP Socket 的多连接通讯调试工具——TCP通讯助手(TcpAssistant)
tcp/ip·sqlite·c#·.net
mldong20 小时前
C# 开发者也有自己的轻量工作流引擎了:NuGet 装包,5 分钟跑通一条审批流
后端·c#·.net
samble1 天前
从零搭建工业控制系统(二十二):线程安全与并发控制
c#·wpf·并发·mvvm·线程安全·工业控制
UIU1141 天前
scanf与cout的误区:探究其内部的机制
c++·学习·c#·scanf
风云1 天前
MiniLog 1.0 GA 发布:零分配、零依赖的 .NET 高性能日志框架
开源·c#·.net·日志·高性能·minilog