C# Stopwatch获取循环中某操作的时间消耗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Stopwatch获取循环中某操作的时间消耗相关的知识,希望对你有一定的参考价值。
在C#中通常使用DateTime来表示当前时间,可以在一个操作的前后分别使用一个DateTime对象获取当前时间,再将两个DateTime对象相减获得时间差(TimeSpan对象),从而得到这个操作耗费了多少时间。
但是,在某些情况下,需要循环获取执行一个操作,而这个操作可能并没有耗费太多的时间,只是循环的量级很大的时候,消耗的时间还是很可观的。这时如果使用上面的方法会比较麻烦。
C#提供了一个类Stopwatch,在操作开始前,调用Stopwatch对象的Start方法;操作结束后调用Stopwatch对象的Stop方法。在循环结束后,调用Stopwatch对象的Elapsed对应的属性可以获取总时间。
Worksheet sheet = ExcelAddIn2.Globals.ThisAddIn.Application.ActiveSheet; Range allCells = sheet.Cells; Stopwatch addressWatch = new Stopwatch(); Stopwatch addressLocalWatch = new Stopwatch(); foreach (Range cell in allCells) { addressWatch.Start(); var address = cell.Address; addressWatch.Stop(); addressLocalWatch.Start(); var addressLocal = cell.AddressLocal; addressLocalWatch.Stop(); } double addressCoast = addressLocalWatch.Elapsed.TotalMilliseconds;
以上是关于C# Stopwatch获取循环中某操作的时间消耗的主要内容,如果未能解决你的问题,请参考以下文章