问下 foreach 这么使用为什么会错?
class   ForEachTest 
 { 
             static   void   Main(string[]   args) 
             { 
                         int[]   fibarray   =   new   int[]   {   0,   1,   2,   3,   5,   8,   13   }; 
                         foreach   (int   i   in   fibarray) 
                         { 
                                     //System.Console.WriteLine(fibarray[i]);   //为什么有这句会越界? 
                                     System.Console.WriteLine(i); 
                         } 
             } 
 }
------解决方案--------------------因为 
 i 的值大于数组的维数
------解决方案--------------------LZ没明白foreach的意思哦. 
 class ForEachTest 
 {       
 static void Main(string[] args) 
     { 
         int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 }; 
         foreach (int i in fibarray)//foreach的时候,i就是等于0, 1, 2, 3, 5, 8, 13 
         {         
             //System.Console.WriteLine(fibarray[i]); 这样写的话,当i=8或13的时候 
       //fibarray[i]就相当于fibarray[8]或fibarray[13].fibarray数组长度才///7,怎么会有8和13呢,当然出错了. 
             System.Console.WriteLine(i); 
         } 
     } 
 }
------解决方案--------------------楼主搞清楚foreach是啥意思再用吧 
 用回for先吧
------解决方案--------------------fibarray[i]); 当each i 走到8或13时,越界