栈的先进后出机制的实例(FILO-Last in first out)

using System;
namespace Test{
    public class Program
    {
        static void Foo(int depth, int max)
        {
            Console.WriteLine("Calling Foo(depth={0}, max={1})", depth, max);
            if (depth < max) Foo(depth + 1, max);
            Console.WriteLine("Returning from Foo(depth={0}, max={1})", depth, max);
        }

        static void RecurseToDepth(int max)
        {
            Foo(0, max);
        }

        static void Main(string[] args)
        {
            RecurseToDepth(5);
        }
    }}


//输出结果
Calling Foo(depth=0, max=5)
Calling Foo(depth=1, max=5)
Calling Foo(depth=2, max=5)
Calling Foo(depth=3, max=5)
Calling Foo(depth=4, max=5)
Calling Foo(depth=5, max=5)
Returning from Foo(depth=5, max=5)
Returning from Foo(depth=4, max=5)
Returning from Foo(depth=3, max=5)
Returning from Foo(depth=2, max=5)
Returning from Foo(depth=1, max=5)
Returning from Foo(depth=0, max=5)


你可能感兴趣的:(栈的先进后出机制的实例(FILO-Last in first out))