C# 值传递、引用传递、输出传递的区别

方式描述
值传递值传递会复制参数的实际值并赋值给函数的形式参数,实参和形参使用的是两个不同内存位置中的值,当形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全。
引用传递

引用传递会复制参数的内存位置并传递给形式参数,当形参的值发生改变时,同时也会改变实参的值。

输出传递输出传递可以一次返回多个值。

  1.  值传递(Value Passing):传递的是数据的副本,方法内部对参数的修改不会影响原始数据。
    
    private void Test(int a, int b)
    {
        int temp = a;
        a = b;
        b = temp;
    }

  2.  引用传递(Reference Passing):传递的是数据的引用,方法内部对参数的修改会影响原始数据。使用 ref 关键字标记。
    
    private void Test(ref int a, ref int b)
    {
        int temp = a;
        a = b;
        b = temp;
    }

  3.  输出参数(Output Parameter):类似于引用传递,但输出参数在调用前不需要初始化。使用 out 关键字标记。
    
    private void Test(int a, int b, out int result, out int remainder)
    {
        result = a / b;
        remainder = a % b;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值