1、函数参数默认是值传递的,也就是“复制一份”,例子:
int age=20;
IncAge(age);
Console.WriteLine("age={0}",age);
2、ref必须先初始化,因为是引用,所以必须先“有”,才能引用;而out则是内部为外部赋值,所以不需要初始化,而且外部初始化也没用。
3、应用场景:ref是内部对外部的值进行改变,out则是内部为外部变量赋值,out一般用在函数有多个返回值的场所。
4、案例:两个变量的交换;int.TryParse 。
5、函数的ref、out参数。标记为ref就是要求调用者传递变量的引用。给ref传递参数的时候也要加上ref。用ref之前必须给变量赋值。ref是reference的简写。
6、out参数:函数需要返回两个值的时候用到。虽然放在参数的位置,但是却充当返回值的作用。在函数外面,即调用时,不需要为out赋初值。但在程序退出函数之前必须要为其赋值,因为相当于返回值作用,所以必须有返回值。
7、例1:
string s=ConSole.ReadLine();
int i;
if(int.TryParse(s, out i ))
{
Console.WriteLine("成功:”+i);
}
else
{
Console.WriteLine("输入错误”);
}