C#参数的传递:值传递、引用传递、输出参数

许多方法是需要传递参数的:传递的参数分为:值传递、引用传递、输出参数、参数数组。
1、值传递:
把实参复制给形参,从此两者无关系。
2、引用传递 ref :
实参复制给形参、形参也可以通过函数改变原始的实参。
3、输出参数 out:
允许在函数中修改实参的值、也允许在函数中将变量初始化。
实例:

namespace 参数传递
{
    class Program
    {
        static void exch(int a, int b) {
            int t;
            t = a;
            a = b;
            b = t;
        }
        static void Main(string[] args)
        {
            int x, y;
            Console.WriteLine("请输入 x,y:");
            x = Convert.ToInt16( Console.ReadLine());
            y = Convert.ToInt16(Console.ReadLine());
            exch(x, y);
            Console.WriteLine("转换后的x,y的值:{0},{1}",x,y);
            Console.ReadKey();
        }

    }
}

想要实现两个数字的交换,但是执行后发现:
这里写图片描述
没有实现两个数字的交换,这是为什么呢?
因为:参数的传入是值传递,传入后与实参没有关系了。所以不会实现交换。
将传入参数加入ref 既引用传递后就可以实现互换。
static void exch(ref int a,ref int b) ;
exch(ref x,ref y);
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值