C# 引用变量在方法内部给引用变量赋值,方法结束后引用变量恢复为初始值

示例代码:

static void Main(string[] args)
{
ResultModel res = new ResultModel();
res.code = 0;
res.msg = "初始值";

OtherMehod(res);

Console.WriteLine(res.msg);
Console.Read();
}

public static void OtherMehod(ResultModel res)
{
ResultModel newRes = new ResultModel();
newRes.code = 20;
newRes.msg = "OtherMehod Change res";

res = newRes;
}

运行结果:

 

 分析:Main方法传递了一个引用变量res给方法OtherMehod,在OtherMehod内部把自己方法内部的新ResultModel对象的引用赋值给传递过来的res,当OtherMehod方法结束后,newRes被回收了,导致在Main方法里res又恢复为初始值;

posted @ 2020-08-21 13:52  温故纳新  阅读(615)  评论(0编辑  收藏  举报