博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# for VS foreach 性能对比
阅读量:7070 次
发布时间:2019-06-28

本文共 777 字,大约阅读时间需要 2 分钟。

string[] strs = new string[10000]; for (int i = 0; i < 10000; i++) {
strs[i] = i.ToString(); } string temp1 = ""; string temp2 = ""; long fortime = 0; long foreachtime = 0; timer.Reset(); timer.Start(); for (int i = 0; i < 10000; i++) {
temp1 = strs[i]; } fortime = timer.ElapsedTicks; timer.Stop(); timer.Reset(); timer.Start(); foreach (string str in strs) {
temp2 = str; } foreachtime = timer.ElapsedTicks; timer.Stop(); MessageBox.Show(string.Format("for Time:{0} result {1},foreach Time:{2} result{3}", fortime, temp1, foreachtime, temp2));

以上代码 就是我测试的代码 我的电脑 上测下来是

for 的速度要比foreach快40ms左右。

那么下次大家选择的时候 如果性能很重要的话 就完全可以放心地选择for语句了

当然foreach 也有其自身的方便之处,比如有些 XXCollection 类型 用for没法索引,最好的办法就是用 foreach了

 

 

转载于:https://www.cnblogs.com/SHGF/archive/2012/02/05/2338992.html

你可能感兴趣的文章
第21章 RTX 低功耗之睡眠模式
查看>>
拉格朗日插值
查看>>
递归函数的写法笔记
查看>>
net 自定义泛型那点事
查看>>
免费「模拟面试」福利反馈连载(20180128期)
查看>>
Redis的并发竞争问题的解决方案总结
查看>>
交叉熵代价函数——当我们用sigmoid函数作为神经元的激活函数时,最好使用交叉熵代价函数来替代方差代价函数,以避免训练过程太慢...
查看>>
nxn随机矩阵乘以概率向量依旧是概率向量
查看>>
【转载】TCP协议要点和难点全解
查看>>
mysql修改表、字段、库的字符集
查看>>
realm vs. domain
查看>>
关闭Spring Boot的Jsckson的FAIL_ON_EMPTY_BEANS
查看>>
Oracle 切割字符查询
查看>>
结构体内存对齐具体解释
查看>>
Cocos Code IDE里xcodeprojectlua脚本更新
查看>>
Windows Developer Day - Adaptive Cards
查看>>
WPF自学入门(九)WPF自定义窗口基类
查看>>
ThreadLocal,LinkedBlockingQueue,线程池 获取数据库连接2改进
查看>>
mongodb的数据库操作
查看>>
继续吐槽在net下没有合适的Disk Cache之使用EhCache
查看>>