static void Add(int x, int y)
        {
            Console.WriteLine(x + y);
            //return;
        }
        static void Add(ref int x, ref int y)
        {
            Console.WriteLine(x*y);
            //return;
        }
        static void Main(string[] args)
        {
            int a = 3, b = 5;
            Add(a,b);
            Add(ref a,ref b);
            Console.ReadLine();
        }为什么这段代码不要return也能运行到底?
我以为 return是把控制权传给主函数的,所以我认为第一个return不能不要,因为主函数执行Add(a,b)后要执行下一步的。如果没有return不是就停止了吗?

解决方案 »

  1.   

    你的理解不对.
    return表示结束当前函数.如果是void返回类型的,这个return可以加也可以不加.
    例如:static void Add(int x, int y) 
            { 
               if(x<y)
               {
                Console.WriteLine(x + y); 
                 return; //加了这个retun当前函数就终止并返回了.不继续向下执行
               }
               Console.WriteLine(x - y); 
               return;//这个return加不加都可以
            } 
      

  2.   

    up!
    没有返回值的方法在末尾是不需要return的,用到return就是2楼说的那样,是在代码中间执行到一半就返回的情况时使用了。
      

  3.   

    return是用来返回值用的;你的程序只是调用Add()方法,顺序执行Add(a,b); Add(ref a,ref b); 
      

  4.   

    一些入门教材里应该都有,看看书;
    一般应该是return、break和continue是同一章节的
      

  5.   

    这2种说法都是正确的,你可以google一下关于return的用法。
      

  6.   

    没有返回值就没必要return要是
    static bool(或者其他类型) Add(int x, int y) 
            { 
                Console.WriteLine(x + y); 
                return true;//这个return就一定要,就是要返回你方法设定的相应类型 
            } 
      

  7.   

    没有返回值就没必要return要是
    static bool(或者其他类型) Add(int x, int y) 
            { 
                Console.WriteLine(x + y); 
                return true;//这个return就一定要,就是要返回你方法设定的相应类型 
            }