首页 > 其他 > 详细

14.ref参数

时间:2020-05-03 23:46:51      阅读:58      评论:0      收藏:0      [点我收藏+]

什么是ref?

ref关键字指示按引用传递的值,而非按值传递。

如何做?

如图,这是一个参数没被ref修饰的的交换两个int类型变量值的方法,通过结果可以明显的看出并没有交换成功。

技术分享图片

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

namespace Demo {


    class Program {
        static void Main(string[] args) {
            //ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
            int n1 =10;
            int n2=20;
            Test(ref n1,ref n2);

            Console.WriteLine(n1);
            Console.WriteLine(n2);           
            Console.ReadKey();
           
        }

        public static void Test(ref int n1, ref int n2) {
            //ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
            int temp = n1;
            n1 = n2;
            n2 = temp;
        }
        
    }
}

运行结果:

技术分享图片

上例代码,可以看出,在被ref修饰后,两个int类型的变量的值交换成功了。

使用:
在方法上用ref修饰形参,如:

public static void Test(ref int n1, ref int n2) {
     //ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
     int temp = n1;
     n1 = n2;
     n2 = temp;
}

在外部调用方法时,修饰实参,如:

Test(ref n1,ref n2);

14.ref参数

原文:https://www.cnblogs.com/lz32158/p/12824426.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!