Рекурсия в замещающем статическом классе - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. namespace Extension
  2. {
  3. static class ExtensionClass
  4. {
  5. public static void ExtensionMethod(this string value, int counter)
  6. {
  7. counter--;
  8. Console.WriteLine(value + counter);
  9. if (counter != 0)
  10. value.ExtensionMethod(counter);
  11. Console.WriteLine(value + counter); // не понял
  12. }
  13. }
  14. class Program
  15. {
  16. static void Main()
  17. {
  18. string text = "Hello ";
  19. text.ExtensionMethod(3);
  20. // Delay.
  21. Console.ReadKey();
  22. }
  23. }
  24. }
Здравствуйте. не могу понять данный код. Почему когда попадаем на строку Console.WriteLine(value + counter); то казалось бы должно "отпустить" (грехи наши тяжкие)....но нет - не отпускает! Я не понимаю...Я как бы понимаю что рекурсия - она выполняется до тех пор пока не 0....но дальше то...Как она это делает!!!???

Решение задачи: «Рекурсия в замещающем статическом классе»

textual
Листинг программы
  1. if (counter != 0)
  2.            return value.ExtensionMethod(counter);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы