关于ref和out的用法总结

        前言:当一个方法需要多个返回值的时候,这个时候可能就需要ref或者out,但是通过元组可以更显简洁的实现方法返回多个参数,所以现在out和ref的使用似乎并不多了。

        他们所实现的功能都是将值类型的参数,按照引用来传递,进而实现将我们对参数的修改变成了对原数据的修改,对于他们编译之后的程序没有区别,他们的区别在于语法的不同。

        语法区别总结

        public void RefMethod(ref int a)
        {
            a = 10;
        }
        public void OutMethod(out int a)
        {
            a = 20;
        }

1、ref指定的参数在函数调用时候必须初始化,不能为空的引用。而out指定的参数在函数调用时候可以不初始化,但是在函数内部要对其进行赋值;

int a;
int b = 100;
TestClass test = new TestClass();
test.RefMethod(ref a);//报错,使用了为赋值的变量a
Console.WriteLine(a);
test.OutMethod(out a);
Console.WriteLine(a);

2、out指定的参数在进入函数时会清空自己,必须在函数内部赋初值。而ref指定的参数不需要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值