深入理解c#中foreach遍历的使用方法

  

  

本文主要给大家介绍了关于c#中foreach遍历的用法以及c#使用foreach需要知道的一些事,分享出来供大家参考学习、下面话不多说了,来一起看看详细的介绍:

  

  

foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字在隔开的两个项组成。右边的项是集合名,在左边的项是变量名,用来存放该集合中的每个元素。
  

  

该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号中的整个表达式返回值为true, foreach块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面& # 8232;的执行语句。
  

  

foreach语句经常与数组一起使用,下面实例将通过foreach语句读取数组的值并进行显示。
  

  

<强>数组的属性:数组。长度数组的容量
  

  

利用这个属性,我们可以取得数组对象允许存储的容量的值,也就是数组的长度,元素个数,这个比较好理解,数组还有其他的属性,比如数组的维数等,属性的用法比较简单,学会一种,其他的格式基本一致,这里我们就不举例了。
  

  

当数组的维数,容量较多时,c#提供了foreach语句,专门用来读取集合/数组中的所有元素,我们把这种功能叫做遍历。语法书写如下:
  

  

<>强遍历数组:foreach(类型objName收集/数组)
  

  

这段语句会逐一检查数组中的所存储的变量的值,并且一一将其取出,其中的类型是你所要读取的数组对象将要存储在objName变量的数据类型,而objName是定义了一个类型类型的变量名,代表每一次从集合和数组(收集/数组)中取得的元素,收集/数组则是所要存取的数组对象。用这种方法只需写一个foreach就可以遍历出除交错数组以外的所有维数的数组。
  

  

objName的数据类型类型必须与收集/数组对象的类型相同或比它大。
  

  

下面我们举一个用foreach和为遍历规则数组的例子,其中涉及到了一个数组得到维数的方法,比较foreach在一次性遍历规则数组上的优势。
  

        int [,]=new int[2 2 2]{{{1,2},{3、4}},{{5、6},{7 8}}};//定义一个2行2列2纵深的3维数组   for (int i=0;我& lt;一个。GetLength(0);我+ +)//用Array.GetLength (n)得到数组(0,1,n)上的维数的元素数,0代表行,1列,n代表此数组是n + 1维   {   for (int j=0;j & lt;a.GetLength (1);j + +)   {   for (int z=0;z & lt;a.GetLength (2); z + +)//2代表得到纵深上的元素数,如果数组有n维就得写n个循环   {   Console.WriteLine ((i, j, z));   }   }   }      

用foreach循环一次性遍历一个数组
  

        int [,]=new int[2 2 2]{{{1,2},{3、4}},{{5、6},{7 8}}};//定义一个2行2列2纵深的3维数组   我在一个foreach (int)   {   控制台.WriteLine(我);   }      

这两种代码执行的结果是一样的都是每行一个元素,共8行,元素分别是1 2 3 4 5 6 7 8
  

  

下面我们再做个例子,是一个利用的和foreach循环做的存取数组元素的例子,首先提示用户输入学生的个数,然后把学生个数作为存储学生姓名的数组名字的元素个数,采用的循环按照数组的索引我从0位开始循环输出“输入学生姓名”的提示,并把用户输入的学生姓名按照其在数组的索引方式<代码>名称[我]> . length> 指数=数组。长度是1>   

  

借助foreach,只能一一取得数组中的元素,并不能利用这种语句改变数组所存储的元素。
  

  

深入理解c#中foreach遍历的使用方法”> <br/>
  </p>
  
  <pre类=   使用系统;   类项目   {   静态void Main ()   {   int数;   Console.WriteLine(“输入要登记的学生数”);   数=int.Parse (Console.ReadLine ());   string[]的名字=新的字符串(数);   for (int i=0;我& lt;names.Length;我+ +)   {   控制台。WriteLine(“请输入第{0}个学生的姓名”,我+ 1);   [我]=Console.ReadLine名字();   }   Console.WriteLine(“已登记的学生如下”);   foreach(名称字符串名称)   {   控制台。WriteLine(“{0}”的名字);   }   Console.ReadKey ();   }   }

深入理解c#中foreach遍历的使用方法