C#中的输出参数ref和out

C#中的输出参数有两种:ref和out。
其实称他们为输出参数不是特别的准确,因为他们并不是像函数返回值一样“输出”一个值,而是将原先存在的值进行编辑。

举个例子(伪代码):

1、一般参数

int i = 1;
int j = 2;

int add(int i, int j)
{
return i + j;
}

main
{
print(add(i, j))
}


2、使用ref

int i = 1;
int j = 2;

void add(ref int i, ref int j)
{
i = i + j;
}

main
{
add(i, j);
print(i);
}



两个函数都是用来计算两个值的和,不同的是一般参数传递进函数的是参数的拷贝值,
而ref和out直接修改内存中的数据。

对于值类型数据,ref和out相当于指针。
对于引用类型数据,就直接传递指向原数据的指针。


那么ref和out有什么区别呢?
区别在于对参数对象的初始化。
ref要求参数在传递之前进行初始化,而out要求在函数中对参数进行初始化,
所以,ref是个输入输出参数,而out是个输出参数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值