C # показывает индексирование на основе нуля . То есть, массив размером s
будет иметь элементы, индексированные от 0
до s - 1
.
Поскольку вы объявили массив names
размером movies - 1
, его элементы проиндексированыот 0
до movies - 2
. Следовательно, цикл:
for(int i = 0; i < movies; i++)
{
names[i] = Console.ReadLine();
ratings[i] = ...
...
будет пытаться получить доступ к индексу out of bounds в массивах names
и ratings
, когда i = movies - 1
.
Вы должны объявить свои массивы как:
string[] names = new string[movies];
double[] ratings = new double[movies];
, чтобы они соответствовали вашему определению цикла for
.