foreach和while的区别(编译之后) ?

解释一下foreach和while的区别(编译之后) 的区别

foreach加强for循环,已知循环次数,逐条读取,一般用于对象集合。 while循环不确定循环次数,逐行读取。只要满足条件就一直循环下去。

应用场景不同。
foreach用于对数组、集合类进行循环处理,一个例子:

        int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
        foreach (int element in fibarray)
        {
            System.Console.WriteLine(element);
        }

while用于不确定循环次数的情况,一个例子:

int i=0;
while(i > 999){
   System.out.println(i);
   i = i+20;
}

至于性能上的差距,因为和多个因素相关(循环体内是否定义使用局部变量,循环处理的数据结构等)。
不能轻易的下结论谁优谁劣。
不是对性能要求特别苛刻的场合,也不用过于在意。

用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~

http://blog.csdn.net/zll01/article/details/2968485

foreach 一次读取全部内容,while读一次显示一次