这里我有三个功能;将函数1的引用传递给函数2.因此,在函数2中,a
是引用。那为什么不允许它将相同的引用传递给函数3?不使用关键字ref
功能1:
public void funReadA()
{
double a=10;
//read value for a
funReadB(ref a);
}
功能2:
public void funReadB(ref double a)
{
double b = 25;
a = 11;
// sum(a, b);this method call is not allowed
sum(ref a, b);// why ref a is required? a is already a reference na?
}
功能3:
public double sum(ref double a,double b)
{
return a += b;
}
答案 0 :(得分:2)
调用网站上的ref
关键字主要是为了确保编写调用代码的人知道他正在传递引用,并且值可能会发生变化。
从编程语言的角度来看,它并非绝对必要,但从程序员的角度来看,这是一个好主意。