Ref/Out

1.相同点

  ref/out中C#代替指针功能,按照地址传递,使用ref/out都将强行改变原有放在堆栈的值类型值。

  例子:

    (1)

    int a =1;

    Fun(a);

    printf(a);

    ------------------

    (2)

    int b = 1;

    Fun(out/ref b);

    printf(b);

    -------------------

    比较a和b,区别就知道了。

  优点:我们需要把原有值类型值当参数传入某个方法时得到这个值类型的新值。(尤其在做sdk开发时用的多些)。

      另一个优点是,可以以这种Fun()里的多个参数返回给程序员想用的对应参数值。

2.不同点  

  ref:

    Fun()函数内部没有重新定义b的值,Fun外部的b值即为Fun内部b初始值。

    需要被调用的方法修改调用者的引用的时候。

  out:

    Fun()函数内部有重新定义的b值,不承认Fun外部的b值,牛气的Fun()内部自己初始化

    需要返回多个值时需要用Out

  

转载于:https://www.cnblogs.com/HansZimmer/p/9770966.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值