C# 中Stopwatch和timer的实现示例

 更新时间:2026年01月09日 10:55:07   作者:就是有点傻  
本文主要介绍了C# 中Stopwatch和timer的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在C#中,StopwatchTimer(通常指的是 System.Timers.TimerSystem.Windows.Forms.Timer)是两个不同的类,它们用于不同的目的:

Stopwatch 类

Stopwatch 类位于 System.Diagnostics 命名空间,主要用于精确测量时间间隔。它非常适合用于性能分析、测量代码块的执行时间或任何需要高精度计时的场景。Stopwatch 提供了以下功能:

  • 以高精度(通常为计时器分辨率,可能是微秒级别)启动、停止和重置计时器。
  • 提供了 Elapsed 属性,返回一个 TimeSpan 对象,表示经过的时间。
  • 支持跨平台使用,因为它不依赖于操作系统的计时器。

示例代码

using System;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        Stopwatch stopwatch = new Stopwatch();
        stopwatch.Start();

        // 执行一些操作
        for (int i = 0; i < 1000000; i++)
        {
            // 模拟工作负载
        }

        stopwatch.Stop();
        Console.WriteLine("Elapsed time: " + stopwatch.Elapsed);
    }
}

Timer 类

Timer 类通常指的是 System.Timers.TimerSystem.Windows.Forms.Timer,它们用于在指定的时间间隔后执行代码。这些计时器主要用于定时任务,如每隔一段时间执行一次操作。

System.Timers.Timer

System.Timers.Timer 位于 System.Timers 命名空间,提供了一个服务器端的定时器,可以用于任何需要定时执行任务的场景,包括Windows服务。

示例代码

using System;
using System.Timers;

class Program
{
    static void Main()
    {
        Timer timer = new Timer(1000); // 设置定时器间隔为1000毫秒
        timer.Elapsed += (sender, e) => 
        {
            Console.WriteLine("Timer ticked at " + DateTime.Now);
            // 执行定时任务
        };
        timer.AutoReset = true; // 设置定时器自动重置
        timer.Enabled = true; // 启动定时器

        Console.WriteLine("Press any key to exit...");
        Console.ReadKey();
        timer.Dispose(); // 清理资源
    }
}

System.Windows.Forms.Timer

System.Windows.Forms.Timer 位于 System.Windows.Forms 命名空间,主要用于Windows Forms应用程序中,以指定的时间间隔触发事件。

using System;
using System.Windows.Forms;

class Program
{
    static void Main()
    {
        Timer timer = new Timer();
        timer.Interval = 1000; // 设置定时器间隔为1000毫秒
        timer.Tick += (sender, e) => 
        {
            Console.WriteLine("Timer ticked at " + DateTime.Now);
            // 执行定时任务
        };
        timer.Start(); // 启动定时器

        Console.WriteLine("Press any key to exit...");
        Console.ReadKey();
        timer.Stop(); // 停止定时器
    }
}

总结

  • Stopwatch:用于测量时间间隔,适合性能分析和精确计时。
  • Timer:用于在指定的时间间隔后执行代码,适合定时任务。

根据你的具体需求,可以选择使用 Stopwatch 来测量时间间隔,或使用 Timer 来执行定时任务。

到此这篇关于C# 中Stopwatch和timer的实现示例的文章就介绍到这了,更多相关C# Stopwatch timer内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c#调整图片分辨率的实现示例

    c#调整图片分辨率的实现示例

    本文主要介绍了c#调整图片分辨率的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • C#实现虚拟键盘的实例详解

    C#实现虚拟键盘的实例详解

    这篇文章主要为大家详细介绍了如何利用C#实现虚拟键盘,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • 基于WPF平台使用纯C#实现动态处理json字符串

    基于WPF平台使用纯C#实现动态处理json字符串

    在当今的软件开发领域,数据的交换与存储变得愈发频繁,JSON作为一种轻量级的数据交换格式,在 WPF平台开发的桌面应用里,我们常常需要与各种数据源交互,动态处理JSON字符串就成为了一项必备技能,本文将深入探讨如何在 WPF 平台上,仅使用纯C#代码实现对JSON字符串的动态处理
    2025-01-01
  • C#隐式/显示实现接口方法详解

    C#隐式/显示实现接口方法详解

    这篇文章主要为大家详细介绍了C#隐式/显示实现接口方法,接口的使用场景介绍,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • C#中的两种debug方法介绍

    C#中的两种debug方法介绍

    这篇文章主要介绍了C#中的两种debug方法介绍,本文讲解了代码用 #if DEBUG 包裹、利用宏定义两种方法,需要的朋友可以参考下
    2015-02-02
  • C#实现DataList里面嵌套DataList的折叠菜单

    C#实现DataList里面嵌套DataList的折叠菜单

    这篇文章主要介绍了C#实现DataList里面嵌套DataList的折叠菜单,以实例形式详细分析了DataList嵌套实现折叠菜单所涉及的JavaScript、HTML与C#相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • C#算法之整数反转

    C#算法之整数反转

    这篇文章介绍了C#算法之整数反转,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • C# 数组中的 indexOf 方法及使用

    C# 数组中的 indexOf 方法及使用

    这篇文章主要介绍了C# 数组中的 indexOf 方法以及indexof方法的使用讲解,需要的朋友可以参考下
    2018-02-02
  • C#词法分析器之输入缓冲和代码定位的应用分析

    C#词法分析器之输入缓冲和代码定位的应用分析

    本篇文章介绍了,C#词法分析器之输入缓冲和代码定位的应用分析。需要的朋友参考下
    2013-05-05
  • C#通过GET/POST方式发送Http请求

    C#通过GET/POST方式发送Http请求

    本文主要介绍了C#实现http请求的两种方式,get和post方式。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09

最新评论