用例子来验证C#中执行到return语句是直接跳出方法

 

C#return常用来在方法中返回值,下面我们用例子来验证C#中执行到return语句是直接跳出方法,返回值。

首先,看下面的例子。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace cts

{

    class Program

    {

       static int Ke(int hao)

        {

            if (hao > 0)

            {

                return hao-1;

            }

            return hao;

        }

        static void Main(string[] args)

        {

            Console.WriteLine(Ke(1));

            Console.ReadKey();

        }

    }

}

运行的结果是0

 

注意到if语句下面还有一个return语句,那么这个语句到底有没有运行,及为什么运行的结果是0而不是1呢?

为此,我们为这段代码添加断点,进行调试。如下图。

F5进行调试,出现下面的情况,如图

 

再按一下F11,出现下面的情况,如下图

 

直接跳过return hao;语句,执行方法体的右大括号,再按一下F11,出现下面的情况,如图

 

此时,已经跳出了方法体,直接进入主函数的运行。

 

现在我们很清楚的知道一开始提出问题的答案了。