方法的递归

方法的递归:就是方法自己调用自己,如下面的方法TellStory(),自己再调用自己,形成死循环。

    class Program
    {

        static void Main(string[] args)
        {
            TellStory();//调用方法
            Console.ReadKey();
        }
        public static void TellStory() //方法体
        {
            Console.WriteLine("老和尚在给小和尚讲故事");
            Console.WriteLine("故事是山上有座,庙里有个老和尚,");
            TellStory();//调用自己
        }
    }

但上面的程序存在“死循环”,需要在适当的时机停止。这时需要一个静态的成员变量

     class Program
    {
        public static int count;//静态成员变量,
        static void Main(string[] args)
        {
            TellStory();
            Console.ReadKey();
        }
        public static void TellStory()
        {
            count++;       //每次被调用都让count加1,从而记住被调用的次数
            Console.WriteLine("老和尚在给小和尚讲故事");
            Console.WriteLine("故事是山上有座,庙里有个老和尚,");
            if (count > 5)  //选择时机,当被调用5次后停止,特别注意,return有结束方法的作用
            {
                return;
            }
            TellStory();//调用自己,单步模拟会发现,程序最后会连续5次跳回这一句,这是递归的特点,

                             //用“同心圆”描述非常贴切
            }
         }




猜你喜欢

转载自blog.csdn.net/sklzl1571/article/details/80185094
今日推荐