.net中for与foreach的比较及使用

本文探讨了在.NET环境中使用for循环与foreach循环遍历数组时的性能差异。具体而言,当数组规模较小时,foreach表现出较好的性能;而数组规模增大到8万~10万时,for循环更优。此外,还分析了两种循环内部的工作机制及其对性能的影响。

当for与数组用在一起的时候,如:   

for(int i=0 ;i<array.count;i++) {   }  

.net的编译器会有一个自动的优化,就是去获取该数组的一个总值array.count,并存放在内存中,无论你的数组是多大, array.count在loop的时候不用反复获取array的总数。重点是这个过程并不是很快,可能是有一定的安全性操作,毕竟这个放在内存中的值还要及时的清除掉。当数组总数很小的时候,这个获取总数的操作占遍历一遍数组的比重是比较大的。 

 foreach是ienumerator接口每遍历一次都要有两个步骤获取释放,这两个步骤都是很快的但是当量很大的时候其影响就不可忽视了。

因此很简单的说,当数组总量较大的时候一般使用for,较小的时候使用foreach。较大较小的参比值大概是8万~10万


本文来自租赁宝网技术支持,参考网站:http://www.zulinbao.com

转载于:https://www.cnblogs.com/systemxgl/archive/2010/08/18/1802041.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值