在 [C#语言] C#语言中又一个自认为不太理想的地方。。。 里面讨论过
观点:foreach的效率比for要低得多?
当时我很反对,而且前段时间做过相关测试,看过分析文章
《[测试分析] for与foreach 执行效率测试结果》
http://www.zj55.net/article/html/s816/8626.htm
文章结论:相对于原来的for语句foreach具有更好的执行效率,foreach的平均花费时间只有for30%。
通过测试结果在for和foreach都可以使用的情况下,我们推荐使用效率更高的foreach.在测试同时
我们附加的发现,用for写入数据时间大约是读取数据时间的10倍左右
一直以为foreach比for执行效率高
但是今天做了个简单的测试结果却不是这样,难道是我测试方法不对?
我的测试方案:
数组长度 | 1000000 | 10000000 | 50000000 |
for执行时间(毫秒) | 15 | 156 | 704 |
foreach执行时间(毫秒) | 62 | 578 | 2065 |