Работает на моей базе сертификации .net. На практическом тесте возникает вопрос с некоторым примером кода, запрашивающим вывод. Правильный ответ ... Loop 3 Loop 2 Loop 1 Loop 1Простой while цикл повторяет последнее значение
проблема, я не понимаю, почему это повторять, что последний "Loop 1". Я положил его в VS2015 и обнаружил, что он на самом деле правильный. Обратите внимание: я не прошу, чтобы код был исправлен, я прошу объяснить, почему он повторяет последнее значение. Я искал и не нашел четкого ответа. Итак, вот код.
namespace ConsoleApplication5
{
class Program
{
private static int WriteToConsole(int NumWrites)
{
int i = NumWrites;
while (i > 0)
{
Console.WriteLine("loop {0}", i);
i = WriteToConsole(i - 1);
}
return NumWrites - 1;
}
static void Main(string[] args)
{
WriteToConsole(3);
Console.ReadKey();
}
}
}
Лучший способ понять это - установить точку останова в 'WriteToConsole (3);' в 'Main()' и отлаживать ее шаг за шагом. –