在 C# 中重置计时器
本文将讨论使用 C# 编程语言重置计时器。
C#
中的 System.Timer
类
C# 中的这个 System.Timer
类提供了一种机制,可以在经过一定时间后执行一段代码,并且这段代码可能会被执行多次。
在 C#
中使用 Timer.AutoReset
重置计时器
当计时器的 interval
结束时,AutoReset
允许它自行重置并再次从 0
开始计数。如果 enabled 属性设置为 true
,则倒计时将开始,但如果将其设置为 false
,则需要通过调用 Start()
方法来重新启动计时器。
当程序的定时器功能已经完成时,程序应该被终止并且它的资源可以在其他上下文中使用。换句话说,Timer.AutoReset
读取或写入一个布尔值,该值指示计时器应该只引发一次 false
还是多次 true
引发 Elapsed
事件。
AutoReset
事件的语法如下。
public bool AutoReset { get; set; }
这种事件可以用于各种事情,但它特别适合在 Web 应用程序中使用以确定连接的状态。在视频游戏期间使用的秒表是另一种潜在用途。
下面的示例演示如何构造一个带有 Elapsed 事件的 Timer
,该事件在 2 秒
过去时触发。然后控制台会显示 My name is DelftStack
作为相关事件处理程序的输出。
-
首先,我们必须导入以下库。
using System; using System.Timers;
-
在
Shanitimer
类中声明计时器变量,我们将其称为t
,确保它可用于所有方法。private static System.Timers.Timer t;
-
我们将按照内置类设置一个计时器。
-
AutoReset
计时器会在经过一个间隔后重置并开始新的计数。如果设置为false
,则必须重置计时器。 -
2000
是可以根据情况更改的时间间隔。你可以在设置Interval
参数后以毫秒
为单位指定要在运行所需代码之前等待多长时间。
t.AutoReset = true; t.Enabled = true; t.Interval = 2000; t.Elapsed += ontime;
-
Elapsed
属性指定要在该时间之后运行的函数。在 C# 中定义事件处理程序可以使用+=
更快地完成,就像我所做的那样,它指示计时器订阅事件处理程序。
-
-
我们还在控制台上显示了一些警报消息。
Console.WriteLine(" Waiting for Command "); Console.WriteLine(" Click on Enter Button to Exit Console "); Console.ReadLine();
-
使用
Stop()
函数停止计时器。Dispose()
函数应该用于在计时器完成运行后释放它所消耗的任何资源。t.Stop(); t.Dispose();
-
ontime()
方法需要Object
和System.Timers.ElapsedEventArgs s
参数。private static void ontime(Object source, System.Timers.ElapsedEventArgs s) { Console.WriteLine(" My name is DelftStack "); }
完整源代码:
using System;
using System.Timers;
class Shanitimer {
private static System.Timers.Timer t;
static void Main() {
t = new System.Timers.Timer();
t.AutoReset = true;
t.Enabled = true;
t.Elapsed += ontime;
t.Interval = 2000;
Console.WriteLine(" Waiting for Command ");
Console.WriteLine(" Click on Enter Button to Exit Console ");
Console.ReadLine();
t.Stop();
t.Dispose();
}
private static void ontime(Object source, System.Timers.ElapsedEventArgs s) {
Console.WriteLine(" My name is DelftStack ");
}
}
输出:
Waiting for Command
Click on Enter Button to Exit Console
My name is DelftStack
My name is DelftStack
//After this line, I pressed enter
相关文章
C# 中的 float、Double 和 Decimal
发布时间:2024/01/18 浏览次数:128 分类:编程语言
-
C# 中的浮点,双精度和十进制数据类型之间的差异如下所述。C# 中的浮点数数据类型 浮点数数据类型在 C# 中存储浮点值。
在 C# 中切换布尔变量
发布时间:2024/01/18 浏览次数:86 分类:编程语言
-
本文教我们在 C# 中切换布尔变量的方法。在 C# 中切换布尔变量 切换布尔变量意味着在 true 和 false 之间更改其值。
在 C# 中检查数组是否包含给定值
发布时间:2024/01/18 浏览次数:102 分类:编程语言
-
有两种主要方法可用于获取 C# 中数组内部元素的索引:Array.IndexOf()和 Array.FindIndex()函数。使用 C# 中的 Array.IndexOf() 函数获取数组中元素的索引
在 C# 中获取数组的大小
发布时间:2024/01/18 浏览次数:178 分类:编程语言
-
有两种主要方法可用于获取 C# 中的数组大小,Array.Length 属性和 Array.Rank 属性。使用 C# 中的 Array.Length 属性获取数组的大小
C# 中将数组转换为列表
发布时间:2024/01/18 浏览次数:141 分类:编程语言
-
有两种主要方法可用于将数组转换为 C# 中的列表,Linq 中的 Array.ToList()函数和 List.AddRange()函数。
在 C# 中随机排列数组
发布时间:2024/01/18 浏览次数:127 分类:编程语言
-
可使用两种主要方法来随机播放 C# 中的数组:Random 类和 RNGCryptoServiceProvider 类。在 C# 中使用 Random 类对数组进行混洗 Random 类在 C# 中生成随机数。
在 C# 中声明一个常量数组
发布时间:2024/01/18 浏览次数:118 分类:编程语言
-
我们可以在 C# 中使用 readonly 关键字声明常量数组。在 C# 中使用 readonly 关键字声明一个常量数组
在 C# 中获取 2D 数组的长度
发布时间:2024/01/18 浏览次数:130 分类:编程语言
-
有 2 种主要方法可用于计算 C# 中 2D 数组的宽度和高度,即 Array.GetLength()和 Array.GetUpperBound()函数。