先通过通过一个小例子来说明ref的作用
static void Main(string[] args)
{
double ss = 100;
Add(ss);
Console.WriteLine(ss);
}
public static void Add(double s)
{
s += 5;
}
这可以很明显知道,ss传进了方法内,但是并不能改变ss的值,必须要在方法内return s。
ref就可以达到这个效果,不需要返回值,即可达到修改Main函数内的值的目的
(有点类似指针的意思,直接到这个地址上,去修改变量的值的效果)
static void Main(string[] args)
{
double ss = 100;
Add(ref ss);//ref要求必须在方法外进行赋值
Console.WriteLine(ss);
}
public static void Add( ref double s)
{
s += 5;
}