c#之ref和out关键字传参的使用,详细介绍,有案例

ref和out关键字,其主要作用,就是允许方法改变值类型的实参值或者允许方法返回多个值。
他可以以引用的方式传递任何类型的值,这样做将允许方法改变调用过程中使用的实参值。

首先我们来讲一下,通过ref关键字改变实参的值,直接看案例

 class Program
    {
        static void Main(string[] args)
        {
            int a = 10;
            Retest r = new Retest();

            Console.WriteLine("a未调用之前的值:"+a);

            r.Sqr(ref a);

            Console.WriteLine("a调用之后的值:" + a);
        }






    }



    class Retest
    {
        public void Sqr(ref int i)
        {
            i = i * i;
        }

    }

结果:a未调用之前的值:10
a调用之后的值:100

从结果我们可以看出来,a的值改变了,我们知道 值类型的值形参改变,不会改变实参,但是加了ref关键字后是可以改变实参值得。

必须注意得一点是:
通过ref传递得实参再调用之前必须先赋值,原因是接收这种实参得方法基于形参指向一个有效得假设,因此,用ref关键字时候,不能用方法给实参赋初始值。

接下来说一下out关键字。
out类似ref关键字,但out只是把值传出方法,再调用前,不用给out变量赋初始值,该方法给他赋初始值,而且,再方法内部out被认为未被赋值得,因此再方法结束后,必须给out参数赋值。

下面看下out关键字使用方法案例

 static void Main(string[] args)
        {
            double f;
            double i;
            i = 10.125;
            Retest r = new Retest();

            int z= r.Getpares(i,out f);

            Console.WriteLine("整数部分"+z);
            Console.WriteLine("小数部分"+f);
        }






    }



    class Retest
    {
        public int Getpares(double n ,out double fac )
        {
            int whole;
            whole = (int)n;
            fac = n - whole;
            return whole;
        }

    }

结果:整数部分10
小数部分0.125

另外这2个关键字也能对引用类型数据进行使用,这里就不写具体案例了,方法和值类型一样使用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值