有些时候我们需要计算一段程序代码大概运行了多长时间,我们可以有以下几种写法:
此方法思路清晰,使用也很简单,但是代码写起来相对烦琐一点。
Vb.Net |
'记录一个开始时间 Dim dtBegin As DateTime=DateTime.Now '下面为需要计时的代码片断 Dim strMD5 As String=Crypt.MD5ForFile("E:\编程相关\Visual Studio C#\sanMuSoft.CS.Main\bin\Release\sanMuSoft.CS.Framework.dll") '记录一下结束时间与开始时间的时间差,返回一个TimeSpan值 Dim usedTime As TimeSpan=DateTime.Now-dtBegin '显示共用时信息 Proj.MsgDebug.Add("共用时{0}秒",usedTime.TotalSeconds) '另外一种显示方式 Proj.MsgDebug.Add("共用时{0}分{1}秒{2}毫秒",usedTime.Minutes,usedTime.Seconds,usedTime.Milliseconds) '返回结果:共用时0.0179532秒 '返回结果:共用时0分0秒17毫秒 |
C# |
// 记录一个开始时间 DateTime dtBegin = DateTime.Now; // 下面为需要计时的代码片断 string strMD5 = Crypt.MD5ForFile(@"E:\编程相关\Visual Studio C#\sanMuSoft.CS.Main\bin\Release\sanMuSoft.CS.Framework.dll"); // 记录一下结束时间与开始时间的时间差,返回一个TimeSpan值 TimeSpan usedTime = DateTime.Now - dtBegin; // 显示共用时信息 Proj.MsgDebug.Add("共用时{0}秒", usedTime.TotalSeconds); // 另外一种显示方式 Proj.MsgDebug.Add("共用时{0}分{1}秒{2}毫秒", usedTime.Minutes, usedTime.Seconds, usedTime.Milliseconds); //返回结果:共用时0.0179532秒 //返回结果:共用时0分0秒17毫秒 |
此方法清晰、简单,代码相对简洁。我们平台只是将Stopwatch对象初始化好供大家直接使用而已。缺点当然就是不能在多线程中使用。
Vb.Net |
Proj.Timer.Restart() '重启计时器 '下面为需要计时的代码片断 Dim strMD5 As String=Crypt.MD5ForFile("E:\编程相关\Visual Studio C#\sanMuSoft.CS.Main\bin\Release\sanMuSoft.CS.Framework.dll") Proj.Timer.Stop() '停止计时 '显示共用时信息 Proj.MsgDebug.Add("共用时{0}秒",Proj.Timer.ElapsedMilliseconds/1000) '另外一种显示方式 Dim usedTime As TimeSpan=Proj.Timer.Elapsed Proj.MsgDebug.Add("共用时{0}分{1}秒{2}毫秒",usedTime.Minutes,usedTime.Seconds,usedTime.Milliseconds) |
C# |
Proj.Timer.Restart(); // 重启计时器 // 下面为需要计时的代码片断 string strMD5 = Crypt.MD5ForFile(@"E:\编程相关\Visual Studio C#\sanMuSoft.CS.Main\bin\Release\sanMuSoft.CS.Framework.dll"); Proj.Timer.Stop(); // 停止计时 // 显示共用时信息 Proj.MsgDebug.Add("共用时{0}秒", Proj.Timer.ElapsedMilliseconds / (double)1000); // 另外一种显示方式 TimeSpan usedTime = Proj.Timer.Elapsed; Proj.MsgDebug.Add("共用时{0}分{1}秒{2}毫秒", usedTime.Minutes, usedTime.Seconds, usedTime.Milliseconds); |
此方法是上面一种方法的通用、正常的写法。只是有部分人可能会经常忘记Stopwatch这个对象名,如果能记得住的话,下面的使用方法可能是更明智的选择。
Vb.Net |
Dim timer As New Stopwatch timer.Start() '重启计时器 '下面为需要计时的代码片断 Dim strMD5 As String=Crypt.MD5ForFile("E:\编程相关\Visual Studio C#\sanMuSoft.CS.Main\bin\Release\sanMuSoft.CS.Framework.dll") timer.Stop() '停止计时 '显示共用时信息 Proj.MsgDebug.Add("共用时{0}秒",timer.ElapsedMilliseconds/1000) '另外一种显示方式 Dim usedTime As TimeSpan=timer.Elapsed Proj.MsgDebug.Add("共用时{0}分{1}秒{2}毫秒",usedTime.Minutes,usedTime.Seconds,usedTime.Milliseconds) |
C# |
Stopwatch timer = new Stopwatch(); timer.Start(); // 重启计时器 // 下面为需要计时的代码片断 string strMD5 = Crypt.MD5ForFile(@"E:\编程相关\Visual Studio C#\sanMuSoft.CS.Main\bin\Release\sanMuSoft.CS.Framework.dll"); timer.Stop(); // 停止计时 // 显示共用时信息 Proj.MsgDebug.Add("共用时{0}秒", timer.ElapsedMilliseconds / (double)1000); // 另外一种显示方式 TimeSpan usedTime = timer.Elapsed; Proj.MsgDebug.Add("共用时{0}分{1}秒{2}毫秒", usedTime.Minutes, usedTime.Seconds, usedTime.Milliseconds); |
我们可以通过适时的停止与继续来记录多次使用时间。
Vb.Net |
|
C# |
|