在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获取循环中某操作的时间消耗的更多相关文章

  1. C#获取键盘和鼠标操作的时间的类

    /// /// 创建结构体用于返回捕获时间 /// [StructLayout(LayoutKind.Sequential)] struct LASTINPUTINFO { /// /// 设置结构体 ...

  2. jQuery获取循环中的选中单选按钮radio的值

    1.<input type="radio" name="testradio" value="jquery获取radio的值" /> ...

  3. 如何获取 Greenplum 中用户最后登录时间和登录频率

    这几天搞系统迁移,老板突然想知道给客户开的那么多用户当中,哪些还在用,哪些已经不用了.我们的数据库是 Greenplum,而且还是一直没有升级的老版本,Google 了一下没有发现特别好的查看用户登录 ...

  4. C#Random函数在循环中每次获取一样的值

    首先需要了解一点Random函数的随机生成是和当前时间有关系,如果在短时间生成随机数,就会导致随机数生成出来是相同的. 不过我们可以在每次随机时指定一个Seed种子值,这样在循环里就可以每次获取不一样 ...

  5. JQ获取URL中是否含有某个字符的话,对页面进行某种操作

    一.//JQ获取URL中是否含有某个字符的话,对页面进行某种操作 例:如果URL中含有xia的字符,就在页面引入一个cssvar str=window.location.href; //获取地址栏UR ...

  6. 背水一战 Windows 10 (90) - 文件系统: 获取 Package 中的文件, 可移动存储中的文件操作, “库”管理

    [源码下载] 背水一战 Windows 10 (90) - 文件系统: 获取 Package 中的文件, 可移动存储中的文件操作, “库”管理 作者:webabcd 介绍背水一战 Windows 10 ...

  7. for循环中进行联网请求数据、for循环中进行异步数据操作,数据排序错乱问题解决;

    for循环中进行联网请求数据,由于网络请求是异步的,第一个网络请求还没有回调,第二次第三次以及后续的网络请求又已经发出去了,有可能后续的网络请求会先回调:这时我们接收到的数据的排序就会错乱:怎么才能让 ...

  8. For循环中不可以嵌套RDD操作

    今天犯了一个致命理解错误,Spark中的RDD Map操作只是一个计算式的传递,并不是Action,也就是在for循环中不会产生真正的计算. 因此,如果for循环中出现了RDD的Map类似操作,都会引 ...

  9. java增强for循环中获取index

    java增强for循环中获取index http://rensanning.iteye.com/blog/2003205

随机推荐

  1. apache-httpd工作模式

    [root@app1 conf]# ../bin/apachectl -lCompiled in modules: core.c mod_access.c mod_auth.c mod_include ...

  2. Python2.7-difflib

    difflib主要用于比较两个序列的不同,常见于字符串的比较,可以对差异生成报告.SequenceMatcher 主要用于找两者相似部分,以及两者不同的转换方法,而 Differ 更注重于比较两者的区 ...

  3. TM1629A驱动程序

    网上看了很多1629驱动程序,很乱,下载了几个整合了一下,下面的程序还没有烧录到开发板里面测试,程序已经做好了,但是这个方案老板不做了,所以只能在这里放着了,留着以后用吧 void TM1629A_W ...

  4. Android给拼接好的Bitmap加上个性化边框

    在上一节中将到将若干张图片拼接成为一张图片.但是这种简单的操作往往不能满足实际的需求,有时我们会需要给图片添加上个性化的边框,来更好的展示图片. 下面就讲一下在图片拼接后如何给bitmap添加边框. ...

  5. calico 网络流量 过程 分析 apt-get install telnet

    1.calico node 容器在kubernetes中以DaemonSet 的方式运行,容器的网络模式为hostNetwor,与host共享网络栈,拥有相同的Ip和hostname 2.查看某个po ...

  6. jqgrid 配置行号及行号的宽度

    有时,我们想把jqgrid的行号按指定的宽度显示出来,如何实现? 通过 rownumbers:true  设置启用行号 通过 rownumWidth 配置行号列的宽度 $("#jqGrid& ...

  7. 深入理解JavaScript系列(23):JavaScript与DOM(上)——也适用于新手

    文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API. Javascript和 ...

  8. coco2d-x游戏逻辑结构

    在Cocos2d-x中开发游戏的主要逻辑和结构是:先创建场景,在场景上添加一层或多层,然后可以在指定层上添加精灵.菜单.文字等,可以为精灵.文字执行某个动作(或者移动),检测玩家触屏事件,开启任务调度 ...

  9. [LOJ#6039].「雅礼集训 2017 Day5」珠宝[决策单调性]

    题意 题目链接 分析 注意到本题的 \(C\) 很小,考虑定义一个和 \(C\) 有关的状态. 记 \(f(x,j)\) 表示考虑到了价格为 \(x\) 的物品,一共花费了 \(j\) 元的最大收益. ...

  10. .NET Core容器化开发系列(零)——计划

    .NET Core相当完善的跨平台特性以及其轻量化的底层接口为我们能顺畅进行微服务开发提供了非常棒的基础. 作为支撑微服务最常见的基础技术--容器化将是本系列的核心内容. 接下来我计划用一个月左右的时 ...