迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 C# 中重置计时器

作者:迹忆客 最近更新:2024/01/16 浏览次数:

本文将讨论使用 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 作为相关事件处理程序的输出。

  1. 首先,我们必须导入以下库。

    using System;
    using System.Timers;
    
  2. Shanitimer 类中声明计时器变量,我们将其称为 t,确保它可用于所有方法。

    private static System.Timers.Timer t;
    
  3. 我们将按照内置类设置一个计时器。

    • AutoReset 计时器会在经过一个间隔后重置并开始新的计数。如果设置为 false,则必须重置计时器。
    • 2000 是可以根据情况更改的时间间隔。你可以在设置 Interval 参数后以 毫秒 为单位指定要在运行所需代码之前等待多长时间。
    t.AutoReset = true;
    t.Enabled = true;
    t.Interval = 2000;
    t.Elapsed += ontime;
    
    • Elapsed 属性指定要在该时间之后运行的函数。在 C# 中定义事件处理程序可以使用+= 更快地完成,就像我所做的那样,它指示计时器订阅事件处理程序。
  4. 我们还在控制台上显示了一些警报消息。

    Console.WriteLine(" Waiting for Command ");
    Console.WriteLine(" Click on Enter Button to Exit Console ");
    Console.ReadLine();
    
  5. 使用 Stop() 函数停止计时器。Dispose() 函数应该用于在计时器完成运行后释放它所消耗的任何资源。

    t.Stop();
    t.Dispose();
    
  6. ontime() 方法需要 ObjectSystem.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

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

C# 中的 float、Double 和 Decimal

发布时间:2024/01/18 浏览次数:128 分类:编程语言

C# 中的浮点,双精度和十进制数据类型之间的差异如下所述。C# 中的浮点数数据类型 浮点数数据类型在 C# 中存储浮点值。

C# 随机布尔值

发布时间:2024/01/18 浏览次数:199 分类:编程语言

本教程教授如何在 C# 中生成随机布尔值。使用 C# 类 Random 中的 Next() 方法 C# 中的 Random 类为我们提供了一个随机库。

在 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 关键字声明一个常量数组

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便