引用型参数ref介绍

引用型参数是实参的一个别名
       没有发生复制
        实参必须预先被赋值
       实参必须是一个变量类型
       实参和函数参数都要有ref
sealed class ParameterPassing
{
    static void Method(ref int parameter)
    {
        parameter = 42;
    }
    static void Main()
    {
        int arg = 0;
        Console.Write(arg); //结果为0
        Method(ref arg);
        Console.Write(arg); //结果为42
    }
}
函数参数有ref修饰符时,被称为引用型参数。引用型参数不产生新的存储区间。实际上,引用型参数是函数调用时所传递的实参所代表的变量的别名。结果是引用型参数只是实参所代表的变量的另一个名字。
ref修饰符必须同时出现在函数声明语句和函数调用语句中。
只有被预先赋值的实参才能被传递给引用型参数,例如:
  int arg;    // arg没有被赋初值
  Method(ref arg);//错误,实参必须预先赋初值
传递给引用型参数的实参必须是变量类型,而不能是纯粹的值或常量。
  Method(ref 42);  //错误,引用型参数的实参不能是纯粹的值
  const int arg = 42;
Method(ref arg); //错误,引用型参数的实参不能是常量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值