Stopwatch的ElapsedTicks与Elapsed.Ticks不相等[10000Ticks=1Milliseconds]

这里有耗子 2016-05-11 10:29:25
实测数据数据:
(End - Start).TotalMilliseconds:16.0009(ms)
Elapsed.Ticks:150868(Ticks)
ElapsedTicks:47038(Ticks)
ElapsedMilliseconds:15(ms)
ElapsedTicks测出的时间明显比其他几个时间小
...全文
495 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
.ElapsedMilliseconds 跟 .Elapsed.TotalMilliseconds 基本上一致,只是一个是整数、另一个浮点数。 但是从度量的对象上看,不论你写 .ElapsedMilliseconds 或者 .Elapsed.TotalMilliseconds,它们 跟 .Elapsed.Ticks 是针对相同的对象的。而.ElapsedTicks 根本就是另外一个意思,并不是你要找的结果对象。
  • 打赏
  • 举报
回复
.Elapsed.TotalMilliseconds 跟 .Elapsed.Milliseconds 是两个不同的概念,前者是指跑表计时结果换算为毫秒的值,而后者是指跑表计时结果中毫秒值(忽略了时、分、秒)。你说能一样吗? 对于 .Elapsed.Ticks 跟 .ElapsedTicks的区别,也是类似的。前者才是跑表计时的总时间,后者是一个“循环”改变的值(就好像1位10进制数字,从9以后就循环到0了)。因此后者根本是无意义的。
这里有耗子 2016-05-11
  • 打赏
  • 举报
回复
查了下;说ElapsedTicks只适合短时间的计时;但不知道短时间是指多短时间
这里有耗子 2016-05-11
  • 打赏
  • 举报
回复
Stopwatch sw = new Stopwatch(); DateTime Start = DateTime.Now; sw.Start(); for (int i = 0; i < 60000000; i++) { int ii = 1 + 2; } DateTime End = DateTime.Now; sw.Stop(); double dsa = (End - Start).TotalMilliseconds; Response.Write("(End - Start).TotalMilliseconds:" + dsa.ToString() + "(ms)<br/>"); Response.Write("Elapsed.Ticks:" + sw.Elapsed.Ticks + "(Ticks)<br/>"); Response.Write("ElapsedTicks:" + sw.ElapsedTicks + "(Ticks)<br/>"); Response.Write("ElapsedMilliseconds:" + sw.ElapsedMilliseconds + "(ms)<br/>");
这里有耗子 2016-05-11
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
.Elapsed.TotalMilliseconds 跟 .Elapsed.Milliseconds 是两个不同的概念,前者是指跑表计时结果换算为毫秒的值,而后者是指跑表计时结果中毫秒值(忽略了时、分、秒)。你说能一样吗? 对于 .Elapsed.Ticks 跟 .ElapsedTicks的区别,也是类似的。前者才是跑表计时的总时间,后者是一个“循环”改变的值(就好像1位10进制数字,从9以后就循环到0了)。因此后者根本是无意义的。
ElapsedTicks:如果 一个“循环”改变的值的话;那是怎么循环的呢,1毫秒循环一次吗?在MSDN中ElapsedTicks:获取当前实例测量得出的总运行时间(用计时器计时周期表示)
Poopaye 2016-05-11
  • 打赏
  • 举报
回复
如果Stopwatch.IsHighResolution == true Elapsed里的ticks会乘上一个tickFrequency,它的值是 10000000.0 / (double)Stopwatch.Frequency 我也不知道为什么
代码转载自:https://pan.quark.cn/s/c50a500cf555 在当今全球经济迅猛增长的背景下,通讯技术的持续进步使得个人之间的联系日益紧密,因此个人对其联系人信息的有效管理变得尤为重要。在此需求下,通讯录应运而生,各式各样的通讯录应用正不断为人们的生活带来便利。通讯录管理软件主要用于处理日常生活中的同学、朋友等联系人的信息编辑,帮助用户随时获取所需联系人的全部资料。这款通讯录管理系统操作简便,用户能够通过该系统轻松完成添加、检索、更新、移除等基本的管理任务。软件的操作界面通常可以隐藏在屏幕的边缘区域,当用户的鼠标移至该区域时,操作界面会自动显现,用户仅需输入关键词(如联系人姓名)即可快速找到所需的通讯录数据。 【Java课程设计-通讯录系统】是一款基于Java编程语言开发的个人通讯录管理工具,其目的是协助用户高效地处理和查找联系人信息。该系统是在JDK 1.7.0和NetBeans 6.9.1集成开发环境中构建的,提供了添加、检索、修改和删除联系人等核心功能,旨在为用户提供流畅的操作体验。 ### 一、需求分析 1. **基本功能**:系统需具备存储联系人姓名、电话、电子邮箱等核心数据的能力,并支持用户执行新增联系人、查找特定联系人、编辑现有联系人资料以及移除无用联系人等操作。 2. **搜索功能**:用户通过输入联系人姓名的关键字,系统能迅速定位到对应的联系人记录。 3. **界面友好**:界面设计需简洁明了,操作直观易用,软件窗口支持隐藏于屏幕边缘,并在鼠标接近时自动展示。 4. **数据保存**:系统必须实现联系人数据的持久化存储,确保程序关闭后数据不会丢失。 ### 二、任务分析 1. **主界面设计**:开发一个用户友好的主界...

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧