C# 设置一个定时器函数

C#中,创建设置一个定时器,能够定时中断执行特定操作,可以用于发送心跳、正计时和倒计时等。
本文对C#的定时器简单封装一下,哎,以方便定时器的创建。

定义

using Timer = System.Timers.Timer;class SetTimer
{Timer aTimer = null;/// <summary>/// 设置定时器函数/// </summary>public delegate void TimerWork(object source, ElapsedEventArgs e);/// <summary>/// 每隔 interval/1000 秒 发送控制器心跳信号/// </summary>/// <param name="interval">时间间隔,单位是毫秒</param>/// <param name="work">定义的需要触发的函数</param>public SetTimer(int interval, TimerWork work){// 创建一个定时器aTimer = new Timer(interval);// 绑定触发事件.aTimer.Elapsed += new System.Timers.ElapsedEventHandler(work);aTimer.AutoReset = true;    // 让计时器触发重复事件(true是默认值)aTimer.Enabled = true;      // 启动 timer,与aTimer.Start()同}/// <summary>/// 停止计时/// </summary>public void Stop(){if (aTimer != null){aTimer.Enabled = false; // 停止计时aTimer.Dispose();       // 释放资源aTimer = null;          // 设为空值}}
}

应用

static void Main(string[] args)
{int second = 0;// 此处也可以定义一个对象名,然后在某时刻关闭它。new SetTimer(1000, (source, e) =>{Console.Write(second++);});
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/433219.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】list讲解及模拟

目录 list的基本介绍 list模拟实现 一.创建节点 二.迭代器 1.模版参数 2.迭代器的实现&#xff1a; a. ! b. c. -- d. *指针 e.&引用 整体iterator (与const复用)&#xff1a; 三.功能实现 1.模版参数 2.具体功能实现&#xff1a; 2.1 构造函数 2.2 begi…

antv/x6自定义节点+小地图+复制/删除节点+拖拽生成节点

1、 下载x6&#xff1a; npm i antv/x62.17.1 同步下载所需要用到的x6插件&#xff1a; "antv/x6-plugin-clipboard": "^2.0.0", // 如果使用剪切板功能&#xff0c;需要安装此包 "antv/x6-plugin-history": "^2.0.0", // 如果使用撤销…

链表--543. 二叉树的直径/medium 理解度C

543. 二叉树的直径 1、题目2、题目分析3、复杂度最优解代码示例4、适用场景 1、题目 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 …

Gitee开源项目issue模板怎么写

一&#xff0c;目录和配置结构 itee Issue 模板配置存储于仓库的默认分支下 .gitee/ISSUE_TEMPLATE 隐藏目录中。 以下是一个完整 Issue 模板配置和对应的目录结构参考&#xff1a; 注意 如果你在另一个分支中创建模板&#xff0c;配置将不会生效&#xff0c;相关的功能协作…

face_recognition和图像处理中left、top、right、bottom解释

face_recognition.face_locations 介绍 加载图像文件后直接调用face_recognition.face_locations(image)&#xff0c;能定位所有图像中识别出的人脸位置信息&#xff0c;返回值是列表形式&#xff0c;列表中每一行是一张人脸的位置信息&#xff0c;包括[top, right, bottom, l…

SQL注入:报错注入

SQL注入系列文章&#xff1a;初识SQL注入-CSDN博客 SQL注入&#xff1a;联合查询的三个绕过技巧-CSDN博客 目录 什么是报错注入&#xff1f; 报错注入常用的3个函数 UpdateXML ExtractValue Floor rand&#xff08;随机数&#xff09; floor&#xff08;向上取整&…

项目性能优化之用compression-webpack-plugin插件开启gzip压缩

背景&#xff1a;vue项目打包发布后&#xff0c;部分js、css文件体积较大导致页面卡顿&#xff0c;于是使用webpack插件compression-webpack-plugin开启gzip压缩 前端配置vue.config.js 先通过npm下载compression-webpack-plugin包&#xff0c;npm i compression-webpack-plug…

服务器基础知识(IP地址与自动化技术的使用)

目录 ip地址是什么&#xff1f; 如何查看ip地址 Windows的命令提示符 图形化版本&#xff1a; 自动化技术的应用与意义 ip地址是什么&#xff1f; IP地址的主要作用是**为互联网上的每个网络和每台主机分配一个逻辑地址**。 它由32位二进制数字组成&#xff0c;通常分为四…

微信小程序(十七)自定义组件生命周期(根据状态栏自适配)

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.获取手机状态栏的高度 2.验证attached可以修改数据 3.动态绑定样式数值 源码&#xff1a; myNav.js Component({lifetimes:{//相当于vue的created,因为无法更新数据被打入冷宫created(){},//相当于vue的mount…

Docker数据卷挂载(以容器化Mysql为例)

数据卷 数据卷是一个虚拟目录&#xff0c;是容器内目录与****之间映射的桥梁 在执行docker run命令时&#xff0c;使用**-v 本地目录&#xff1a;容器目录**可以完成本地目录挂载 eg.Mysql容器的数据挂载 1.在根目录root下创建目录mysql及三个子目录&#xff1a; cd ~ pwd m…

2982. 找出出现至少三次的最长特殊子字符串 II

字典树思路 用字典树搞一下就好了&#xff0c;比如aaaaa &#xff1a; a存5次 aa 4次以此类推&#xff5e; 字典树板子复习&#xff1a;P8306 【模板】字典树 这里这个清空方式 很好 因为很多时候memset T #include<iostream> #include<cstring> using namesp…

TensorFlow2实战-系列教程2:神经网络分类任务

&#x1f9e1;&#x1f49b;&#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 1、Mnist数据集 下载mnist数据集&#xff1a; %matplotlib inline from pathlib imp…