C# ref/out

总结来说:

1、调用带ref关键字的函数,必须对 ref 对应的参数赋值;而out关键字不需要。
2、带ref 关键字的函数内部可以直接使用 ref 对应的参数;out 关键字的函数,必须在函数内部对out对应的参数赋值后才能使用。
(归结1,2点:ref在外面初始化,out在里面初始化)

        //refA 必须先赋值
        int refA = 0;
        void funRef(ref int a)
        {
            //可直接使用a
            int b = a;
            a = 10;
        }
        void tt()
        {
            funRef(ref refA);
        }

        //outA在函数外不用先赋值
        int outA;
        void funOut(out int a)
        {
            //在函数里a不能直接使用,要先赋值
            a = 10;
        }

3、两个关键字都能使值类型按引用类型使用,即修改了函数外部申明的变量

参考博客:
https://www.cnblogs.com/yougoo/p/9562686.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值