发布网友 发布时间:2022-04-29 15:06
共3个回答
热心网友 时间:2023-10-14 04:17
对,C#中的迭代器就是foreach语句,从某种表现来讲它与for循环非常类似,但它们还是有本质上的区别!一.对于for循环来说,你可以用于循环输出数组中每一个元素或对元素进行赋值,也可以用来实现需要重复处理的代码的逻辑.代码举例:(循环输出数组中每一个元素)int[] arrI=new int[]{1,2,3,4,5};for (int i=0;i<arrI.Length;i++){ Console.WriteLine(arrI[i]);} 代码举例:(将数组中每一个元素加10)int[] arrI=new int[]{1,2,3,4,5};for (int i=0;i<arrI.Length;i++){ arrI[i]+=10;}for (int i=0;i<arrI.Length;i++){ Console.WriteLine(arrI[i]);} 代码举例:(实现需要重复处理的代码的逻辑--实现1到100的累加)int sum=0;for(int i=1;i<=100;i++){ sum+=i;}Console.WriteLine(sum);二.对于foreach来说,它可以通过迭代的方式遍历数组或集合中的每一个元素,但是迭代变量是只读的,不能通过foreach进行赋值操作,也不能很方便地实现需要重复处理的代码的逻辑--比如实现1到100的累加三.在遍历输出这方面是for与foreach是两者都共有的特性,但是也不完全相同,for是通过整型下标来遍历,而foreach是通过迭代变量来遍历,所以象Hashtable哈希表这样的集合对象时,由于它没有整型下标,所以它只能通过foreach来遍历,而不能使用for循环!热心网友 时间:2023-10-14 04:17
其实两个表面上是没什么区别的,只是性能上不同像foreach的是实现还不是调用循环的热心网友 时间:2023-10-14 04:18
在理论上是没有多大的区别,最后得到的结果基本上是一样的