首页 期权学习期权知识正文

for循环和foreach的区别

xiaojiucai 期权知识 2020-08-18 115 0

1、for 循环靠下标定位.    list[3] 相当于 *(list + 3).

for(int i = 0; i < GetCount(); i++)
{
  ....
}
 
=
 
int i = 0;
 
while(i < GetCount())
{
  ...
}

2、

foreach 依赖 IEnumerable.

第一次 var a in GetList() 时 调用 GetEnumerator 返回第一个对象 并 赋给a,

以后每次再执行 var a in GetList() 的时候 调用 MoveNext.直到循环结束.

期间GetList()方法只执行一次.

foreach   (var a in GetList())
{
    ...
}
 
=
 
var a;
IEnumerator  e  =  GetList().GetEnumerator();
while (e.MoveNext)
{
    a = e.Current;
}

总结:for 循环每次循环会调用 GetCount() 来比较长度,而 foreach 不考虑长度,只调用一次GetList()。

原文链接:https://www.qiquanji.com/post/7669.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论