问:什么是方法递归?
答:方法自己调用自己。
看一段代码:
class Program{
static void Main(string[] args)
{
TellStory();
Console.ReadKey();
}
public static void TellStory()
{
Console.WriteLine("从前有座山");
Console.WriteLine("山里有座庙");
Console.WriteLine("庙里有个老和尚和小和尚");
Console.WriteLine("有一天,小和尚哭了,老和尚给小和尚讲了一个故事");
TellStory();
}
}
看如下代码:
class Program{
static void Main(string[] args)
{
TellStory();
Console.ReadKey();
}
public static int i = 0;
public static void TellStory()
{
Console.WriteLine("从前有座山");
Console.WriteLine("山里有座庙");
Console.WriteLine("庙里有个老和尚和小和尚");
Console.WriteLine("有一天,小和尚哭了,老和尚给小和尚讲了一个故事");
i++;
if( i >= 10){
return ; // 跳出循环
}
TellStory();
}
}
添加了静态字段。为什么能够把它当做全局变量处理呢?因为它的整个作用域是类,而函数都是类当中的,所以每个方法都能使用到这个类当中的字段。