系列文章目录
持续更新中......
工具
前言
一般我们遍历List的时候,常用的会有三种写法,这三种写法的优缺点大家应该都知道,今天我们就通过IL代码来证实下。
进入正题
第一种写法:常规写法
// 升阶测试1:for遍历List 的第1种写法
List<int> list = new List<int>(3);
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
IL代码及注释如下:
第二种写法:高级写法
// 升阶测试2:for遍历List 的第2种写法
for (int i = 0, len = list.Count - 1; i < len; i++)
{
Console.WriteLine(list[i]);
}
IL代码及注释如下:
第三种写法:大佬写法
// 升阶测试3:for遍历List 的第3种写法
for (int i = list.Count - 1; i >= 0; i--)
{
Console.WriteLine(list[i]);
}
IL代码及注释如下:
由上可以看出
第一种写法:创建了三个变量,分别存储list本身,int索引和一个是否可循环的bool值,每次循环判定都要去call以下list.Count
第二种写法:创建了四个变量,分别存储list本身,int索引,list的长度和一个是否可循环的bool值,每次循环判定只是比较两个int的大小
第三种写法:创建了三个变量,分别存储list本身,int索引和一个是否可循环的bool值,每次循环判定只是比较两个int的大小
所以在遍历list时,遍历顺序无影响的情况下,第三种写法最合适,其次是第二种,尽量少用第一种哦。
总结
好了,以上就是全部内容了,如有理解错误,还望各位大佬指出,感谢!
推荐一个将IL指令进行分类的文章,可以更方便的记忆:轻松读懂IL
我是一个爱思考,爱分享,爱游戏的游戏程序猿,喜欢就点个关注吧。