【发布时间】:2021-03-09 17:03:26
【问题描述】:
我有这个示例代码:
public class MyClass
{
public int Value { get; set; }
}
class Program
{
public static void Foo(MyClass v)
{
v.Value = 2;
v = new MyClass();
v.Value = 3;
}
static void Main(string[] args)
{
var m = new MyClass();
m.Value = 1;
Foo(m);
Console.Write(m.Value);
Console.ReadLine();
}
}
我想知道为什么输出是 2 而不是 3,你能给我解释清楚吗?
谢谢
【问题讨论】:
标签: c# parameter-passing pass-by-reference pass-by-value