【C#】 Stopwatch详解
Stopwatch的命名空间是using System.Diagnostics;
1 namespace System.Diagnostics
2 {
3 //
4 // 摘要:
5 // 提供一组方法和属性,可用于准确地测量运行时间。
6 public class Stopwatch
7 {
8 //
9 // 摘要:
10 // 获取以每秒计时周期数表示的计时器频率。此字段为只读。
11 public static readonly long Frequency;
12 //
13 // 摘要:
14 // 指示计时器是否基于高分辨率性能计数器。此字段为只读。
15 public static readonly bool IsHighResolution;
16
17 //
18 // 摘要:
19 // 初始化 System.Diagnostics.Stopwatch 类的新实例。
20 public Stopwatch();
21
22 //
23 // 摘要:
24 // 获取当前实例测量得出的总运行时间。
25 //
26 // 返回结果:
27 // 一个只读的 System.TimeSpan,用于表示当前实例测量得出的总运行时间。
28 public TimeSpan Elapsed { get; }
29 //
30 // 摘要:
31 // 获取当前实例测量得出的总运行时间(以毫秒为单位)。
32 //
33 // 返回结果:
34 // 一个只读长整型,表示当前实例测量得出的总毫秒数。
35 public long ElapsedMilliseconds { get; }
36 //
37 // 摘要:
38 // 获取当前实例测量得出的总运行时间(用计时器计时周期表示)。
39 //
40 // 返回结果:
41 // 一个只读长整型,表示当前实例测量得出的计时器计时周期的总数。
42 public long ElapsedTicks { get; }
43 //
44 // 摘要:
45 // 获取一个指示 System.Diagnostics.Stopwatch 计时器是否在运行的值。
46 //
47 // 返回结果:
48 // 如果 System.Diagnostics.Stopwatch 实例当前正在运行,并且在对某个时间间隔的运行时间进行测量,则该值为 true;否则为 false。
49 public bool IsRunning { get; }
50
51 //
52 // 摘要:
53 // 获取计时器机制中的当前最小时间单位数。
54 //
55 // 返回结果:
56 // 一个长整型,表示基础计时器机制中的计时周期计数器值。
57 public static long GetTimestamp();
58 //
59 // 摘要:
60 // 对新的 System.Diagnostics.Stopwatch 实例进行初始化,将运行时间属性设置为零,然后开始测量运行时间。
61 //
62 // 返回结果:
63 // 刚刚开始测量运行时间的 System.Diagnostics.Stopwatch。
64 public static Stopwatch StartNew();
65 //
66 // 摘要:
67 // 停止时间间隔测量,并将运行时间重置为零。
68 public void Reset();
69 //
70 // 摘要:
71 // 停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。
72 public void Restart();
73 //
74 // 摘要:
75 // 开始或继续测量某个时间间隔的运行时间。
76 public void Start();
77 //
78 // 摘要:
79 // 停止测量某个时间间隔的运行时间。
80 public void Stop();
81 }
82 }
使用方法:
Stopwatch sw = new Stopwatch();
//开始计时
sw.Start();
//重新设置为零
sw.Reset();
//重新设置并开始计时
sw.Restart();
//结束计时
sw.Stop();
//获取运行时间间隔
TimeSpan ts = sw.Elapsed;
//获取运行时间[毫秒]
long times = sw.ElapsedMilliseconds;
//获取运行的总时间
long times2 = sw.ElapsedTicks;
//判断计时是否正在进行[true为计时]
bool isrun = sw.IsRunning;
//获取计时频率
long frequency = Stopwatch.Frequency;
【转自】http://blog.csdn.net/w200221626/article/details/51980873
【C#】 Stopwatch详解的更多相关文章
- (转)C# Stopwatch详解
C# Stopwatch类 命名空间:System.Diagnostics; namespace System.Diagnostics { // 提供一组方法和属性,可用于准确地测量运行时间. pub ...
- C# Stopwatch详解
namespace System.Diagnostics { // // 摘要: // 提供一组方法和属性,可用于准确地测量运行时间. public class Stopwatch { // // 摘 ...
- Middleware详解
Middleware详解 在第1章项目结构分析中,我们提到Startup.cs作为整个程序的入口点,等同于传统的Global.asax文件,即:用于初始化系统级的信息(例如,MVC中的路由配置).本章 ...
- Asp.Net MVC学习总结之过滤器详解(转载)
来源:http://www.php.cn/csharp-article-359736.html 一.过滤器简介 1.1.理解什么是过滤器 1.过滤器(Filters)就是向请求处理管道中注入额外的 ...
- 详解C#泛型(二) 获取C#中方法的执行时间及其代码注入 详解C#泛型(一) 详解C#委托和事件(二) 详解C#特性和反射(四) 记一次.net core调用SOAP接口遇到的问题 C# WebRequest.Create 锚点“#”字符问题 根据内容来产生一个二维码
详解C#泛型(二) 一.自定义泛型方法(Generic Method),将类型参数用作参数列表或返回值的类型: void MyFunc<T>() //声明具有一个类型参数的泛型方法 { ...
- hadoop2.7作业提交详解之文件分片
在前面一篇文章中(hadoop2.7之作业提交详解(上))中涉及到文件的分片. JobSubmitter.submitJobInternal方法中调用了int maps = writeSplits(j ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
随机推荐
- 小猿圈-IT自学人的小圈子 【强力推荐学习】
笔记链接 https://book.apeland.cn/details/322/ 学习视频 https://www.apeland.cn/python
- apt-key Debian packages密钥管理命令
adv子命令 Pass advanced options to gpg. With adv --recv-key you can e.g. download key from keyservers ...
- Leetcode 春季打卡活动 第一题:225. 用队列实现栈
Leetcode 春季打卡活动 第一题:225. 用队列实现栈 Leetcode 春季打卡活动 第一题:225. 用队列实现栈 解题思路 这里用了非常简单的思路,就是在push函数上做点操作,让队头总 ...
- Kafka之--多zookeeper,多broker之搭建
闲来如事,突发兴趣倒腾一下了kafka.其实类似环境搭建的博客很多,我这里算是整合一下,另外写出自己的过程与看法.完整的过程如下: 1)先准备好3台服务器.我准备的机器hostname/ip为: ka ...
- 40.qt quick- 高仿微信实现局域网聊天V4版本(支持gif动图表情包、消息聊天、拖动缩放窗口)
在上章37.qt quick- 高仿微信实现局域网聊天V3版本(添加登录界面.UDP校验登录.皮肤更换.3D旋转),我们已经实现了: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主界面和登 ...
- nmcli命令行修改网络连接名称
目前在网上能找到的文章中,使用nmcli命令修改Linux系统中网卡连接的名称都是先创建新的连接,然后删除旧的连接的方式 此种方式其实完全不恰当,简直就是在浪费时间,nmcli命令本身就提供了直接修改 ...
- router-link与router-view的对应关系和映射特点
router-link对应的router-view规律为: 1.根据to的值而定,值为一层(如 /child)则对应app.vue中的router-view: 值为两层,如 /second/child ...
- ODOO里视图开发案例---定义一个像tree、form一样的视图
odoo里视图模型MVC模式: 例子:在原来的视图上修改他: var CustomRenderer = KanbanRenderer.extend({ ....});var CustomRendere ...
- 数据分析学习1-----matplotlib
安装:Anaconda 详细见:https://blog.csdn.net/lwplwf/article/details/79162470 使用^ThinkPad-E560:~# spyder 命令 ...
- C++第四十五篇 -- MFC关闭调用的窗口
调用窗体的方法: // chart是一个MFC的窗体类 chart *chartdialog = new chart; //调用窗体,获取返回值 int ReturnValue = chartdial ...