我有 2 个数组用于存储来自用户的 2 个系列的输入。我将两个数组的边界设置为等于同一个变量,但是在输入信息时,在第一个数组的最终输入之后,我得到一个异常“索引超出了数组的边界。”。
当我尝试将数组的边界更改为常量时,它们表现正常。
string[] names = new string[movies-1];
double[] ratings = new double[movies-1];
for(int i = 0; i < movies; i++)
{
names[i] = Console.ReadLine();
ratings[i] = Convert.ToDouble(Console.ReadLine());
}
System.IndexOutOfRangeException:“索引超出数组范围。”
最佳答案
你只差一(两次)-
数组应该被实例化为
movies
的长度,而不是movies-1
迭代时,您希望
<i
最多等于movies-1
,因为数组赋值从0开始。
想一想 - 如果 movies
等于 1(一部电影),您当前正在实例化一个具有 0 个槽的数组 - 您尝试访问的任何索引都将超出范围。
关于C# 'Index was outside the bounds of the array.' 用于一个数组而不是另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58676406/