110,533
社区成员
发帖
与我相关
我的任务
分享
class ReVal
{
public ReVal(int i)
{
_i = i;
}
public int _i;
}
class Program
{
static void Main(string[] args)
{
ReVal rrv = new ReVal(5);
test(rrv); //这里与 test(ref rrv) 有什么区别?
}
static int test(ReVal rv)
{
rv._i = 10;
return rv._i;
}
}
static void test(ReVal rv)
{
rv = new ReVal(10);
}
rv._i这时的结果还是5;传的是值,只不过这个值是对对象的引用
static void test(ref ReVal rv)
{
rv = new ReVal(10);
}
rv._i这时的结果是10,因为传的是引用