C# 为什么会有;索引超出了组边界的数量“;在这个代码中?
对于Visual Studio中的此代码C# 为什么会有;索引超出了组边界的数量“;在这个代码中?,c#,arrays,C#,Arrays,对于Visual Studio中的此代码 Point[,] point = new Point[9, 10]; for (int i = 0; i < 9; i++) { for(int j = 0; i < 10; j++) { point[i, j].X = i;//mark1 point[i, j].Y = j; } } 点[,]点=新点[9,10]; 对于(int i=0;i
Point[,] point = new Point[9, 10];
for (int i = 0; i < 9; i++)
{
for(int j = 0; i < 10; j++)
{
point[i, j].X = i;//mark1
point[i, j].Y = j;
}
}
点[,]点=新点[9,10];
对于(int i=0;i<9;i++)
{
对于(int j=0;i<10;j++)
{
点[i,j].X=i;//标记1
点[i,j].Y=j;
}
}
在//mark1,系统告诉我“索引超出了组边界的数量”
为什么?
你在做什么
for (int j = 0; i < 10; j++)
for(int j=0;i<10;j++)
因此,条件i<10
可能是输入错误导致循环超出了数组中的范围(然后尝试访问数组中的元素0,10)
替换为:
for (int j = 0; j < 10; j++)
for(int j=0;j<10;j++)
您的内部循环条件中有一个输入错误:“for(int j=0;i<10;j++)”,i
应该是j
。若要诊断此问题,您可以在调试器中运行它,并在错误出现时观察j
的值。然后您可以看到该值为10,因此超出了数组边界-然后找出原因。