Stopwatch类学习

1、概述:给一条大MSDN的链接关于Stopwatch类最详细的教程 ,然后看着教程自己手动敲一边,加深映象,好记性不如烂键盘,哈哈,开个玩笑!

2、类位置:这个类在哪里,这个是重点,虽然C#IDE很强大,但是我们还是得简单的了解下。通过一段代码来说明:

using System;

namespace System.Diagnostics{

    public class Stopwatch:System.Object
   {
   }
}

是不是一目了然!
3、类属性介绍
下面是Stopwatch类的所有的属性以及属性的用法以及每个属性会配上一段代码实例来阐述这个属性到底是怎么用的:
Elapsed     表示当前实例(线程)测量出的总运行时间
public TimeSpan Elapsed{get;}   //该属性只读
using System;
using System.Threading;
using System.Diagnostics;
namespace Mulithreading{class StopwatchStudy{static void Main(string[] args){Stopwatch sw=new Stopwatch();sw.Start();//开始计时Thread.Sleep(3000);sw.Stop();//计时结束TimeSpan ts=sw.Elapsed;//获取当前实例(主线程)总共的运行时间string Elapsed=string.Format("{0:00}:{1:00}:{2:00}:{3:00}",ts.Hours,ts.Minutes,ts.Seconds,ts.Milliseconds);//转换成字符串"{0:00}"表示对应的变量值以2位显示
           Console.Write(Elapsed);}}
}

 

ElapsedMillseconds     获取当前实例(线程)的总运行时间(以毫秒为单位)    返回值类型为long;

using System;
using System.Threading;
using System.Diagnostics;
namespace Mulithreading
{class StopwatchStudy{static void Main(string[] args){Stopwatch sw = new Stopwatch();sw.Start();//开始计时Thread.Sleep(3000);sw.Stop();//计时结束long ts = sw.ElapsedMilliseconds;Console.WriteLine(ts);sw.Restart();Thread.Sleep(2000);sw.Stop();long ts2 = sw.ElapsedMilliseconds;Console.WriteLine(ts2);}}
}

 

ElapsedTicks   一个只读长整型,表示当前实例测量得出的计时器刻度总数。

 

 

 isRunning    返回一个bool值表示计时器是否正在运行,同样也是只读

 

4、方法介绍

Start()      这里就不做代码演示了,最基础的

Stop()      上同

Rsest() 方法     停止时间间隔测量,将运行时间重置为0

代码如下:

using System;
using System.Threading;
using System.Diagnostics;
namespace Mulithreading
{class StopwatchStudy{static void Main(string[] args){Stopwatch sw = new Stopwatch();sw.Start();//开始计时Thread.Sleep(3000);sw.Stop();//计时结束TimeSpan ts = sw.Elapsed;string Elapsed = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds);Console.WriteLine(Elapsed);sw.Reset();//重置时间TimeSpan ts2 = sw.Elapsed;//获取重置之后的总运行时间string Elapsed1 = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts2.Hours, ts2.Minutes, ts2.Seconds, ts2.Milliseconds);Console.WriteLine(Elapsed1);}}
}

 

 

ReStart()     重置时间之后在开始重新测量时间相当于ReSet之后在Start

using System;
using System.Threading;
using System.Diagnostics;
namespace Mulithreading
{class StopwatchStudy{static void Main(string[] args){Stopwatch sw = new Stopwatch();sw.Start();//开始计时Thread.Sleep(3000);sw.Stop();//计时结束TimeSpan ts = sw.Elapsed;string Elapsed = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds);Console.WriteLine(Elapsed);sw.Restart();Thread.Sleep(2000);sw.Stop();TimeSpan ts2 = sw.Elapsed;string Elapsed1 = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts2.Hours, ts2.Minutes, ts2.Seconds, ts2.Milliseconds);Console.WriteLine(Elapsed1);}}
}

 

StartNew()      将运行时间设置为0,然后开始测量运行时间,也就是重新开始一个新的实例,通过类名调用(上面的其他例子都通过对象实例调用)

需要注意的是该方法是Stopwatch的静态方法

public static void StartNew()

 

转载于:https://www.cnblogs.com/GreenLeaves/p/6344356.html

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

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

相关文章

看看这套WPF开源基础控件库:WPFDevelopers

此项目包含了 微信公众号 《 WPF开发者》 日常开发分享,欢迎Star。运行环境 Visual Studio 2019,dotNet Framework 4.0 SDK欢迎关注微信公众号支持贡献者DrawPrize(WPF 实现大转盘抽奖)GIF帧数太多,无法上传&#xff0…

如何将EDM营销与多渠道推广方式相结合

目前,消费者每天都会从各种渠道收到信息,如果仅用单一渠道的营销会影响整体营销。多渠道推广方式是所有渠道都要兼顾到从而接触用户,让他接收到他想接收的信息,多渠道的过程中邮件还是非常好的营销方式。你要想让你的EDM营销获得成…

Cannot resolve the collation conflict between SQL_Latin1_General_CP1_CI_AS and Latin1_General_100...

ErrorMessage Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_100_CI_AS" in the equal to operation. 查看SQL Server的Collation SELECT SERVERPROPERTY (Collation) Solution 1. 在安装SQL Server…

语言 ota_荣威RX5 PLUS使用最新的家族设计语言,给人更年轻时尚的感觉

如果要用一个词来形容 荣威RX5 PLUS,我第一个能想到的便是“诚意”。斑马最新VENUS系统、米其林PS4轮胎、双层隔音玻璃、终身原厂质保、终身免费基础保养……从产品到政策,荣威RX5 PLUS的方方面面都显示出了上汽荣威的诚意。从上市到现在,荣威…

C# 制作指示灯(经典)

群友提问:C#中的指示灯怎么做,改变状态有什么好的方法吗?制作指示灯的方法有很多中:比如:通过GDI绘制自定义LED指示灯控件;调用现成的第三方控件库;采用label标签,通过改变背景色实现…

结合ChatGPT和MINDSHOW自动生成PPT

总结/朱季谦 一、首先,通过chatGPT说明你的需求,学会提问是Ai时代最关键的一步。你需要提供一些关键信息,如果没有关键信息,就按照大纲方式让它设计,例如,我让它帮我写一份《2023年年中述职报告》的模版—…

华为怎么删除自带的音乐_原来华为手机相册隐藏剪辑功能!按下这个开关,还能制作音乐相册...

华为手机相册你肯定在用,但除了最近删除、智能搜索之外,你还知道手机相册的其他功能吗?这里就分享一个,相册中隐藏的实用剪辑功能,按下这个开关,还能把照片制作成音乐相册。创作开关首先将华为手机上的相册…

使用 Dapr 缩短软件开发周期,提高生产效率

Microsoft DevOps 文档里的文章(https://docs.microsoft.com/zh-cn/azure/devops/report/dashboards/cycle-time-and-lead-time?viewazure-devops)中的这张图片在给我们介绍了 什么是周期时间 以及它如何影响我的项目流时非常有影响力。第一次输入 &quo…

各种加密算法

2019独角兽企业重金招聘Python工程师标准>>> 如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash Algorithm,安全散列算法)H…

利用Xshell实现非对称秘钥对安全登陆linux服务器(Centos、Ubuntu)

非对称加密算法简述:对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key&#x…

一秒点击屏幕次数测试_安卓App性能专项测试流畅度深度解析

指标背景流畅度,顾名思义是用户感知使用App页面时的流畅情况。“App卡不卡”,这是用户最直接的感受。 但是要用量化之后的数据衡量流畅度,在Android平台这边并没有直接有效的方式/手段去监控。帧率&刷新频率首先需要了解到两个概念&#…

U盘安装Ubuntu三步走

需要工具: U盘、Ubuntu的ISO镜像、universal usb installer 1、下载Ubuntu (1) (2)我这里下载14.04版本 (3)我这里下载64位系统 下载后得到的是个torrent种子,双击后用迅雷下载即可 …

sdram 时钟相位_零基础学FPGA (二十五)必会! 从静态时序分析到SDRAM时序收敛(下篇)...

七、SDRAM工作时钟相位偏移计算本文引用地址:http://www.eepw.com.cn/article/279083.htm从上篇文章中我们知道,我们的数据是要经过一定的延时才会到达目标器件的,这个延时也就是相对于源寄存器的时钟发射沿的时间延时,数据在源寄…

星跃计划 | 新项目持续招募中!MSR Asia-MSR Redmond 联合科研计划邀你申请!

微软亚洲研究院与微软总部联合推出的“星跃计划”科研合作项目邀请你来报名!本次“星跃计划”报名再次新增了来自微软 ED (Experiences Devices) Applied Research 全球总部的新项目,欢迎大家关注与申请!还在等什么?加入“星跃计…

Linux服务器上监控网络带宽与监控性能命令大全

【51CTO精选译文】本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。一些命令可以显示单个进程所使用的带宽。这样一来,用户很容易发…

Android的AlertDialog详解

AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。 要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。 使用AlertDialog.Builder创建对话框需要了解以下几个方法: s…

workbench mysql mac_mysql workbench mac下载-mysql workbench mac 64位下载8.0.15 官方最新版__西西软件下载...

MySQL Workbench mac版是专为数据库架构师、开发人员和 DBA 打造的一个统一的可视化工具。MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能。MySQL Workbench 提供了数据建模工具、SQL 开发工具和全面的管理工具(…

C# 使用Awaiter

可以对任何提供 GetAwaiter 方法并返回 awaiter 的对象使用 async 关键字。awaiter 用 OnCompleted 方法实现 INotifyCompletion 接口。此方法在任务完成时调用。下面的代码片段不是在任务中使用 await,而是使用任务的 GetAwaiter 方法。Task 类的 GetAwaiter 返回一…

模板-1-模板类的特化

2019独角兽企业重金招聘Python工程师标准>>> 类模板的特化 语义: 表明该模板类在特殊的类型下具有不同的行为.类的定义,应该与模板类放入一个头文件中,告知编译器该特化类的存在;类成员的定义,应该放入源文件中.该特化类就与普通类一样,是一个实实在在存在的实体.语…

C# 内存法图像处理

内存法通过把图像储存在内存中进行处理,效率大大高于GetPixel方法,安全性高于指针法。 笔者当初写图像处理的时候发现网上多是用GetPixel方法实现,提到内存法的时候也没有具体实现,所以笔者在这里具体实现一下- -,望指…