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();
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();
sw.Stop();//计时结束
long ts = sw.ElapsedMilliseconds;
Console.WriteLine(ts);
sw.Restart();
Thread.Sleep();
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();
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();
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();
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()

 
 
 

Stopwatch类学习的更多相关文章

  1. [转]使用Stopwatch类实现高精度计时

    对一段代码计时同查通常有三种方法.最简单就是用DateTime.Now来进行比较了,不过其精度只有3.3毫秒,可以通过DllImport导入QueryPerformanceFrequency和Quer ...

  2. 用Stopwatch类获得程序运行时间

    我们可以用Stopwatch类获得程序的运行时间,在优化代码时,可以用此方法来查看优化前后程序所耗费的时间 //Stopwatch类別在System.Diagnostics命名空间里 Stopwatc ...

  3. 【转】Date类学习总结(Calendar Date 字符串 相互转换 格式化)

    原文网址:http://www.blogjava.net/jerry-zhaoj/archive/2008/10/08/233228.html Date类学习总结 1.计算某一月份的最大天数 Cale ...

  4. Stopwatch 类【转】

    一般我们想要测试使用那种方法或着那种类型效率更高,使用Stopwatch类进行测试就可以,我也是现在才知道,汗一个. 先来看个小示例,如下. 前提,先引用using System.Diagnostic ...

  5. System类学习笔记

    最近在学习源码的过程中发现:很多深层次的代码都用到了一个类System类,所以决定对System类一探究竟 本文先对System类进行了剖析,然后对System类做了总结 一.首先对该类的中的所有字段 ...

  6. 利用StopWatch类监控Java代码执行时间并分析性能

    springframework中的StopWatch类可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.一般用来测量代码执行所用的时间或者计算性能数据,在优化代码性能上可以使用Sto ...

  7. Date类学习总结(Calendar Date 字符串 相互转换 格式化)

    Date类学习总结 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance();time.clear();time.set(Calendar.YEAR,yea ...

  8. Scala中的类学习

    Scala中的类学习 从java了解类的情况下,了解Scala的类并不难.Scala类中的字段自动带getter和setter方法,用@BeanProperty注解生成javaBean对象的getXX ...

  9. C# Stopwatch 类

    命名空间:System.Diagnostics Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.在典型的 Stopwatch 方案中,先调用 Start 方 ...

随机推荐

  1. Debug_with_docker_in_pycharm

    Debug with docker in pycharm Why As I really really appreciate it that we can have a isolated develo ...

  2. 使用Intel的FPGA电源设计FPGA 供电的常用反馈电阻阻值

    使用Intel的FPGA电源设计FPGA 供电的常用反馈电阻阻值. 当前仅总结使用EN5339芯片的方案 Vout = Ra*0.6/Rb + 0.6 芯片手册推荐Ra取348K,则 3.3V时,取R ...

  3. Java Web系列:JDBC 基础

    ADO.NET在Java中的对应技术是JDBC,企业库DataAccessApplicationBlock模块在Java中的对应是spring-jdbc模块,EntityFramework在Java中 ...

  4. TFS 2015新功能之一,当前迭代查询标记

    TFS 2015发布在即,有幸作为MVP提前获得了TFS的RTM版本,下面就TFS 2015的新功能做一些介绍:   TFS 2015新功能之一,当前迭代查询标记 在TFS的查询中,可以将" ...

  5. C# AutoMapper的简单扩展

    AutoMapper可以很方便的将一个实体的属性值转化给另一个对象.这个功能在我们日常的编码中经常会遇到.我将AutoMapper的一些基本映射功能做成扩展方法,在编码中更方便使用. using Sy ...

  6. Web开发利器Webstorm导入多个文件夹或者项目

    步骤:File->Setting 打开设置面板,打开Directories节点,然后看到有Add Content Root 操作选项,单击弹出磁盘目录文件,选择对应项目或者目录即可.

  7. 【OCP-12c】CUUG 071题库考试原题及答案解析(18)

    18.(8-7) choose twoWhich two statements are true regarding views? (Choose two.) A) A simple view in ...

  8. 前端切图要选择png和jpg呢?

    今天特意验证了一下: 切完图分别保存png24.png8和jpg60.jpg80(60和80表示保存图片时品质选择)后, 然后再压缩图片,压缩图片地址:https://tinypng.com/ 图片直 ...

  9. 苹果笔记本调整 pycharm 字体大小的地方

    我想,对于习惯了使用windows版本 或者 乌班图版本 的pycharm 的人而言, mac版本调节字体的地方藏的实在是太坑爹了.

  10. ObjectARX动态添加AutoCAD传统下拉菜单入门篇(一)

    ObjectARX动态添加传统下拉菜单入门篇 图文by edata  , 转载注明出处 http://www.cnblogs.com/edata AutoCAD 添加传统下拉菜单有很多种方式,比较典型 ...