【发布时间】:2015-12-14 02:35:57
【问题描述】:
这里我有三个功能;将函数 1 的引用传递给函数 2。所以在函数 2 中,a 是一个引用。那么为什么不允许将相同的引用传递给函数 3?不使用关键字ref
功能一:
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;
}
【问题讨论】:
-
ref不是数据类型。它不附加到a变量。它附加到参数的定义中。 -
你说的不允许是什么意思?
-
我已经编辑了问题
标签: c# .net reference pass-by-reference