class Program
{
static void REF(ref int i)
{
i++;
Console.WriteLine("ref--{0}",i);
}
static void OUT(out int i)
{
i = 1;
i--;
Console.WriteLine("out--{0}",i);
}
static void Main(string[] args)
{
int i = 1;
REF(ref i);
Console.WriteLine(i);
OUT(out i);
Console.WriteLine(i);
}
}
}
/*
ref:传递的参数是引用,并非参数副本,会直接改变实参
out:无论外部实参是怎样的数据,都拒绝,只接受函数内部的赋值
小结:两个传参的应用,个人觉得是在return上,当你想返回多个值的时候,特别是返回程序还要用到的实参时
不同的是,ref是要在使用函数外部就初始化,out只须申明就可以,因为无论你赋任何值,out参数都不会传进去
因此,out传参适合函数有多个返回值的时候
ref--内部值对外部值的改变
out--内部对外部的赋值
*/