07005 ref关键字的用法以及实例教程 附源代码 – 恵玩科技

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace @ref
{
    class Program
    {
        static void Main(string[] args)
        {
            //第一次引用
            int num1 = 11;
            int num2 = 22;
            Change(num1,num2);
            Console.WriteLine( "第一次交换------{0}-----------{1}",num1,num2);

            //我们发现并没有生效  原因是当参数从堆里面取出来的时候已经被销毁了

            //第一次引用
            Change(ref num1, ref num2);
            Console.WriteLine("第二次交换------{0}-----------{1}", num1, num2);

            Console.ReadKey();

        }


        //交换两个变量的值
        public static void Change(int num1,int num2)
        {
            int temp = 0;
            temp = num1;
            num1 = num2;
            num2 = temp;


        }

        //用ref重载交换方法
        //交换两个变量的值
        public static void Change(ref int num1, ref int num2)
        {
            int temp = 0;
            temp = num1;
            num1 = num2;
            num2 = temp;


        }
    }
}

 

打赏作者