При добавлении нового элемента в массив не понимаю зачем нужен такой код

это мой первый вопрос тут , поэтому заранее сорри если не правильно формулирую его.

пример кода с добавлением нового элемента в массив но я не понимаю зачем нам нужно указывать в этой части кода, а именно * tempArray[tempArray.Length - 1] = newElement; * ( -1) !.

    Console.Write("\n введите значение нового элемента");
    int newElement = Convert.ToInt32(Console.ReadLine());
    int[] tempArray = new int [ array.Length + 1 ];

    array.CopyTo(tempArray, 0);

   * tempArray[tempArray.Length - 1] = newElement;

    array = tempArray;

    index = 0;

    while (index<array.Length)
    {
        Console.Write($"{array[index]}, ");
        index++;

    }

Ответы (1 шт):

Автор решения: MBo

Охо-хо.... Указанная строчка записывает введённое число в конец массива.

При нумерации массивов с нуля первый индекс массива 0, а последний tempArray.Length - 1

В свежих версиях шарпа (8) можно использовать также

tempArray[^1]
→ Ссылка