C# ошибка метода вывода рекурсивной суммы элементов массива

Я новичок в программировании и начал изучение C#. при выполнении задания наткнулся на непонятную для меня ошибку. При выполнении кода, выдаёт ошибку StackOverflowException. Код который даёт ошибку:

static int SumElements(int[] array, uint i = 0)
        {
            if (i >= array.Length - 1)
            {
               return 0;
            }

            return array[i] + SumElements(array, i++);
            
        }

если заменить в предпоследней строке инкремент на банальное i+1 то всё работает. Не понимаю почему тут операция инкремент не работает.


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