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. python 3安装PDFMiner3K

    首先确保,你的pyhton是python 3 可在https://www.python.org/downloads/处下载 打开cmd,键入pip3 install pdfminer3k

  2. 20155308 2016-2017-2 《Java程序设计》第8周学习总结

    20155308 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 NIO(New IO)-from JDK1.4 NIO2 -fr ...

  3. JObject使用

    1.首先需要引用Json.NET\Newtonsoft.Json.dll程序集. 2.Page页 function saveUser() { var param = { id: , name: '张三 ...

  4. Jenkins pipeline中使用内置全局变量

    在pipeline中不像在windows batch command中直接%WORKSPACE%这样 需要写成这样: echo env.WORKSPACE

  5. EasyUI DataGrid 使用(分页,url数据获取,data转json)

    EasyUI算是比较有名的,搜一下网上的资料也比较多,具体的参数,下载地址我就不写了 平常也不怎么写文章,大部分都是代码,有不能运行的可以直接评论回复 有可能遇到的问题: json数据格式,这个要仔细 ...

  6. 基于python 3.5 所做的找出来一个字符串中最长不重复子串算法

    功能:找出来一个字符串中最长不重复子串 def find_longest_no_repeat_substr(one_str): #定义一个列表用于存储非重复字符子串 res_list=[] #获得字符 ...

  7. docker 存储驱动之 overlay2

    overlay2 简介 OverlayFS是一种和AUFS很类似的文件系统,与AUFS相比,OverlayFS有以下特性:  1) 更简单地设计 2) 从3.18开始,就进入了Linux内核主线 3) ...

  8. GO学习笔记 - 没有参数的 return 语句返回各个返回变量的当前值,这种用法被称作“裸”返回。

    Go 的返回值可以被命名,并且就像在函数体开头声明的变量那样使用. 返回值的名称应当具有一定的意义,可以作为文档使用. 没有参数的 return 语句返回各个返回变量的当前值.这种用法被称作“裸”返回 ...

  9. 【OCP题库】最新CUUG OCP 12c 071考试题库(65题)

    65.(22-16) choose the best answer: The CUSTOMERS table has the following structure: You need to writ ...

  10. BZOJ 1412--狼和羊的故事(最小割)

    1412: [ZJOI2009]狼和羊的故事 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3316  Solved: 1664[Submit][St ...