【发布时间】:2016-02-23 19:08:51
【问题描述】:
我的 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();
}
}
}
【问题讨论】:
-
因为您将 5 放入 array1[4] 中,然后将其取出并尝试使用它访问 array1[5]。您只能从 0..4 开始索引
-
foreach然后使用array[value]是不正确的。在array1上使用foreach,value将是数组中的每个元素。 -
要么再次将
foreach...替换为for (i = 0; i < 5; i++),要么将Console.Write(array[value])替换为Console.Write(value)
标签: c# arrays exception foreach