C表格阵列错误的Windows表格应用程序

时间:2011-04-18 22:42:55

标签: c#

我想弄清楚这段代码中的错误是什么:

private void button2_Click(object sender, EventArgs e)
{
int[] teams = new int[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     temp = teams[2];
     for (int i = 3; i <= 10; i++)

      teams[i-1] = teams[i];
   richTextBox1.Text = ("Round 1: "+teams[0]+","+teams[1]+" "+teams[2]+","+teams[9]+" "+teams[3]+","+teams[8]+" "+teams[4]+","+teams[7]+" "+teams[5]+","+teams[6]);
}

我没有在服务器资源管理器中收到任何错误,但是当我调试时程序崩溃并且我得到“IndexOutOfRangeException未处理”

输出应该是 回合:1,2 3,10 4,9 5,8 6,7 回合:1,3 4,2 5,10 6,9 7,8 回合:1,4 5,3 6,2 7,10 8,9 等等... 直到所有球队都相互比赛一次。第1组是固定的,而数组中的其余项目是迭代的。

1 个答案:

答案 0 :(得分:8)

因为索引10在您的数组teams中并不存在。索引从零开始,因此teams的有效索引为0-9。你的循环从3变为10,所以你的最后一次迭代会抛出异常。