首页 > 编程语言 >C# StopWatch的使用

C# StopWatch的使用

时间:2023-01-01 10:55:06浏览次数:46  
标签:Console stopWatch C# Stopwatch 实例 时间 使用 StopWatch 运行

一、Stopwatch的用处

Stopwatch来自于System.using System.Diagnostics命名空间。它可以测量一个时间间隔的运行时间,或跨多个间隔的已用时间总数。 在典型方案中,调用Start()方法,最后调用Stop()方法,然后使用属性 Elapsed 检查运行时间。

二、Stopwatch的字段和属性

字段字段说明
Frequency 获取以每秒刻度数表示的计时器频率。 此字段为只读
IsHighResolution 指示计时器是否基于高分辨率性能计数器。 此字段为只读
属性属性说明
Elapsed 获取当前实例测量得出的总运行时间
ElapsedMilliseconds 获取当前实例测量得出的总运行时间(以毫秒为单位)
ElapsedTicks 获取当前实例测量得出的总运行时间(用计时器刻度表示)
IsRunning 获取一个值,该值表示 Stopwatch 计时器是否正在运行

三、Stopwatch的方法

方法方法说明
Equals(Object) 确定指定对象是否等于当前对象
GetHashCode() 作为默认哈希函数
GetTimestamp() 获取计时器机制中的当前刻度数
GetType() 获取当前实例的 Type
MemberwiseClone() 创建当前 Object 的浅表副本
Reset() 停止时间间隔测量,并将运行时间重置为零
Restart() 停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间
Start() 开始或继续测量某个时间间隔的运行时间
StartNew() 初始化新的 Stopwatch 实例,将运行时间属性设置为零,然后开始测量运行时间
Stop() 停止测量某个时间间隔的运行时间
ToString() 返回表示当前对象的字符串

四、使用实例

using System.Diagnostics;

//创建一个StopWatch实例
Stopwatch stopWatch = new Stopwatch();

//使用StartNew表示已经实例并且开始计时
//Stopwatch stopWatch = Stopwatch.StartNew();

//计时开始
stopWatch.Start();
for (int i = 0; i < 100; i++)
{
    Console.Write(i + " ");
}
Console.WriteLine();

//停止计时
stopWatch.Stop();

Console.WriteLine("耗时:" + stopWatch.ElapsedMilliseconds + "ms");

//重置stopWatch
stopWatch.Reset();

Console.WriteLine("耗时:" + stopWatch.ElapsedMilliseconds + "ms");

//重启stopWatch
stopWatch.Restart();

for (int i = 0; i < 20; i++)
{
    Console.Write(i + " ");
}
Console.WriteLine();
stopWatch.Stop();

Console.WriteLine("耗时:" + stopWatch.ElapsedMilliseconds + "ms");

//总运行时间
Console.WriteLine("耗时:"+stopWatch.Elapsed);

标签:Console,stopWatch,C#,Stopwatch,实例,时间,使用,StopWatch,运行
From: https://www.cnblogs.com/qinweizhi/p/17017846.html

相关文章

  • AcWing362. 区间
    题目描述给定\(n\)个区间\([a_i,b_i]\)和\(n\)个整数\(c_i\)。你需要构造一个整数集合\(Z\),使得\(\foralli\in[1,n]\),\(Z\)中满足\(a_i\lex\leb_i\)......
  • 使用 Bitnami Helm 安装 Kafka
    服务器端K3S上部署KafkaServerKafka安装......
  • 一个TCP连接可以发送多少个HTTP请求?
    想要回答这个问题先要知道这5个问题:1.TCP连接是否会在一个请求结束后就断开链接?在HTTP1.0中一个服务器在发送完一个http响应后会断开tcp链接,每次请求都会重新建立和断开t......
  • java:使用supervisor优雅的管理SpringBoot进程
    (目录)1、创建SpringBoot项目通过https://start.spring.io/创建一个SpringBoot项目项目结构$tree-Itarget.├──pom.xml└──src├──main......
  • PyTorch数据集处理
    数据样本处理的代码可能会变得杂乱且难以维护,因此理想状态下我们应该将模型训练的代码和数据集代码分开封装,以获得更好的代码可读性和模块化代码。PyTorch提供了两个基本方......
  • CodeForces Round #841 (Div. 2) vp记
    在2022年的最后一天,和大神stOJerry__JiangOrz开了一场CodeForces的vp,顺便来水一下博客。前言:前两题的输出为actualanswer\(\times2022\)CodeForcesRound#......
  • 华为云使用总结
    华为云相关服务登录与注册地址为:https://auth.huaweicloud.com/注意1需要实名才可以进行购买和使用.登录之后就可以直接进入控制台.注意2需要选择区域,比如我这......
  • DB2 LUW. 11.5.xx - Mac M1 ready
    DB2LUW.11.5.xx-MacM1ready https://community.ibm.com/community/user/hybriddatamanagement/discussion/db2-luw-115xx-mac-m1-readyJür......
  • 【李宏毅机器学习】自编码器auto-encoder
    note:VAE的本质结构:重构的过程是希望没噪声的,而KLloss则希望有高斯噪声的,两者是对立的。所以,VAE跟GAN一样,内部其实是包含了一个对抗的过程,只不过它们两者是混合起来,共......
  • 如何在C# 中使用 FFmpeg.NET
    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了......