值传递原理:传递的是变量所对应数据的一份拷贝,而非引用,因此提出ref和out关键字
注意:两者都是按地址进行传递的,传递后将改变原来参数的值。
使用时方法定义和调用方法都必须显示的调用
区别:1.
关于重载
有ref、out关键字的方法可以与无ref、out关键字的方法进行重载。但是不能在ref、out之间重载
2
.调用前赋初值
ref作为参数的函数在调用前,实参必须赋初值
out作为参数的函数在调用前,实参可以不赋初值
3
.在函数内,引入的参数初始值问题
在调入函数内,ref引入的参数可以不赋初值
在调入函数内,out引入的参数在返回前最少要赋值一次
例子:
private static void Swap(ref in a, ref int b)
{
....
}
Swap(ref a,ref b);