Out 和 Ref

什么时候用out:当方法需要返回多个返回值的时候运用

什么时候用ref:当需要修改变量值的时候

out和ref传的都是地址

out必须再方法内为其赋值,如果判断分支,那么每一个分支必须又对局部变量赋值

ref修饰方法的参数,再调用的时候必须再变量前面加上ref关键字,只能传递变量不能传递常量

out侧重于输出,ref侧重于修改

out再传递之前可以不赋初始值,因为再方法中肯定会为out赋值

ref再传递之前必须要有值,因为再方法中有可能会用到这个参数的值

 

ref例子:

static void Main(string[] args)
{
    Person o=new Person(){Age=17,Nmae="张明"};
    Test3(p);
    TestRef2(ref p);
}
static void TestRef2(ref Person p)
{
    p=new Person(){Name="黎明"};
}
static void Test3(Person p)
{
    p=new Person(){Nmae="花花"};
}

结果是:黎明,张明

分析:

1.ref传的是变量的地址

2.图解

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值