for和foreach的效率比较

来源:互联网 发布:电厂仿真软件 编辑:程序博客网 时间:2024/05/14 11:03

foreach的性能要比for要高;因为for循环要进行一个array.GetLength来获取数组最大下标
当然只是相对的
1,如果只是读数据,选择foreach
2,如果只是写数据,选择for
3,for循环遍历的效率是低于foreach循环遍历
for循环在外部做count和在条件中做count相比较,第一种效率更高(for每次循环的时候都要去判断是否符合循环条件)
4,foreach 依赖 IEnumerable.
第一次 var a in GetList() 时 调用 GetEnumerator 返回第一个对象 并 赋给a,
以后每次再执行 var a in GetList() 的时候 调用 MoveNext.直到循环结束.
期间GetList()方法只执行一次.

原创粉丝点击