c#中的"索引超出了数组的范围".为什么?

0 c# arrays foreach exception

我在for-each循环中不断出现异常,我不明白为什么.

当我array[i]等于时,错误消失了i,但是如果我想要它等于不同的值呢?

相关代码:

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] array1 = new int[5];

            for (int i = 0; i < 5; i++)
            {
                array1[i] = (i + 1);
            }


            foreach (int value in array1)
            {
                Console.Write(array1[value]);
            }

            Console.ReadKey();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*sky 5

foreach循环的问题是您使用VALUE作为数组索引,而不是简单地打印该值.

将您的代码更改为:

Console.Write(value);
Run Code Online (Sandbox Code Playgroud)

它应该工作.