@CSharpMutant

Почему нужно отнимать единицу вот в этой строке?

secondArray[secondArray.Length - 1] = number
  • Вопрос задан
  • 277 просмотров
Решения вопроса 1
15432
@15432
Системный программист ^_^
Потому что в C# нумерация с 0

И массив длины Length имеет элементы с индексами 0..Length-1
Индекс Length будет уже за пределами массива.

В вашем примере производится запись в последний элемент массива
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
twobomb
@twobomb
Это обращение к последнему элементу.
Обращение к элементам по индексам начинается с нуля.
Тоесть допустим есть массив [543,234,654] его Length (длинна) 3
Если мы попытаемся получить элемент по этому индексу, то выйдем за пределы массива, так как:
Первый элемент 543 имеет индекс 0
Второй элемент 234 имеет индекс 1
Третий элемент 654 имеет индекс 2
Тоесть мы чтобы обратится к последнему мы берем длинну массива 3 минус 1, получаем 2.
Под индексом 2 получаем элемент 654 (последний)
Ответ написан
Потому что индексация в массивах начинается с нуля
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы