Как работает рекурсия? - C#

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

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

Помогите разобраться, не понимаю до конца как работает рекурсия в связке с субстринг... Вопрос: Почему при условии if (str.Length > 1) не выводит последнею букву???
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Substring
{
    class Rek
    {
        public void DisplayReverse(string str)
        {
            if (str.Length > 0) ///При длине строки в 1-цу, 2-ой аргумент сабстринг будет равен 0
                DisplayReverse(str.Substring(1, str.Length - 1)); 
            else
                return;
            Console.Write(str[0]);///Как я думал (неправильно), первый вывод в рекурсии должен произойти при длине строки в 
                                  /// в один символ. Почему при условии if (str.Length > 1) не выводит последнею букву??? 
 
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            string str = "This is a";
            Console.WriteLine(str.Substring(1, str.Length - 1));
            Console.WriteLine(str[0]);
            Console.WriteLine(str.Substring(1, str.Length - 9));
            Console.WriteLine("Lengh is "+ (str.Length-9));
            Console.WriteLine(str[0]);
            char c = str[0];
            Console.WriteLine("Char c="+c);
            string f = "F";
            ////Console.WriteLine("String F is Substringed from 1 to 0(1-1) "+f.Substring(1, str.Length - 1)); не работает по
 //////понятным причинам
            Rek d = new Rek();
            Console.WriteLine("\n String is\n" + str + "\nReversed string is ");
            d.DisplayReverse(str);
            Console.ReadKey();
        }
    }
}

Решение задачи: «Как работает рекурсия?»

textual
Листинг программы
Console.Write(str[0]);//не моё

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


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

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

13   голосов , оценка 3.923 из 5