C# 为什么会有;索引超出了组边界的数量“;在这个代码中?

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

对于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<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,因此超出了数组边界-然后找出原因。