for 循环使我们可以通过索引访问数组元素;而 foreach 循环则可以不依赖索引而读取每一个数组元素。下面的示例代码声明了一个整型数组,然后通过两种方法打印数组元素:
运行结果是相同的:
使用 foreach 的语法:
需要解释一下 ④ ,如上面的示例代码,迭代变量 x 只能用于读取数组 num 中的值,但是不能给数组元素赋值,如果尝试给 x 赋值,则会有下面的错误提示:
了解了 foreach 循环的语法,你可能会有疑问:好像 foreach 循环能做的 for 都能做, foreach 存在的意义是什么呢?其实,C#中还存在一些类似于数组的数据组织方式,它们中有一些是没有元素索引的,对于这些元素,只能通过 foreach 遍历。关于那些更高级的对象,我们留待后面的课程介绍。
请在右边代码第 13 行输入 foreach() 结构头部,使得程序能够打印数组的所有元素。
using System; using System.Collections.Generic; using System.Text; namespace Test { class Program { static void Main(string[] args) { string[] t =new string[]{"C","Sh","a","rp"}; //遍历字符串数组t { Console.Write(x); } } } }