在学委托修改字符串时候出现一下类是的代码。如下
int[] arr = { 1, 2, 3 };
foreach (int i in arr)//知道这是个循环,为什么里面的参数连个,都没有,怎么看int i in arr,主要是int i 啥意思,i是循环变量,他的初始值是多少
{
System.Console.WriteLine(i);
}
Console.ReadKey();
int[] arr = { 1, 2, 3 };
foreach (int i in arr)//知道这是个循环,为什么里面的参数连个,都没有,怎么看int i in arr,主要是int i 啥意思,i是循环变量,他的初始值是多少
{
System.Console.WriteLine(i);
}
Console.ReadKey();
foreach (int i in arr) === foreach (var item in collection) 如果你能百分百肯定数组中的元素类型是int , 那这里的 var 就 可以用int , 这样可以取出数组中的所以数据.作者: 颜晓峰 时间: 2013-2-23 11:32
有时候把编程语言真正当做一门语言会更好理解。
容我为你翻译下:
foreach(int i in arr) ->(这个句子基本上就是一个标准的英文句子了)翻译为:遍历arr中的整数i。形象点的话可以理解为:老师点名,被点到的同学喊“到”。arr就是全部同学,老师点名就是遍历foreach(), i 就相当于被点到的同学们喊的“到”。虽然喊的都是同个字,但代表的人却是不一样的,只是一个暂时的代号,一会老师可能会说:第3个喊到的人站起来。老师点名的对象是同学,所以要有个范围限制 in(在...里),in arr 在点名册内的同学。而int则表示老师点名的条件,有时候老师开心了,就点学号为3的倍数的同学,不开心了全部点。在该句里,遍历的对象为整数,如果是点名那就是全部同学了,伤。
分析:foreach(变量 in 数组)是foreach()的标准语法,因此不存在逗号。
int i 就是单纯的定义一个整型变量i,用于暂时存储遍历到的整数,以便调用。
相当于:
int i;
foreach(i in arr);
i 的初始值就是NULL了。
int[] arr = { 1, 2, 3 };
foreach (int i in arr){};
在这个例子里的话,流程是这样的:程序进入数组arr,面前站着一排数字,于是程序开始逐个检查。站在最前面的是1,检查结果合格,是整数,于是给1一个棒子 i ,让他去{}里跑一圈,1完事后归队,程序继续检查,此时站在程序面前的是2,检查合格,令1将棒子 i 交给2,2也去{}里跑了一圈,以此类推。。。。
由于程序只会将棒子交给检查合格的对象,所以在这个例子里,i 的值依次是1,2,3。
下面举个例子,一样是遍历数组中的整数:
数组:[1,0.8,2.4,5],一样用上面的方法去遍历,那么 i 的值就会依次是1和5。0.8和2.4并不会赋给 i ,因为不是整数。