class Program
{
static void Main(string[] args)
{
A a = new A();
a.print();
}
}
class Employee
{
public string Name { get; set; }
}
class A
{
public void print()
{
Employee emp = new Employee { Name = "1" };
Func2(emp);
Console.WriteLine(emp.Name);
Console.ReadLine();
}
private void Func2(Employee e)
{
Employee e2 = new Employee { Name = "3" };
e = e2;
}
}
运行上述程序后,我得到“1”作为答案,我无法理解如何?谁能解释一下,根据我的答案应该是“3”-谢谢
但是当我调用下面定义的 Func1 方法时:-
private void Func1(Employee e)
{
e.Name = "2";
}
我得到“2”作为答案。现在,如果 e 作为值类型传递,那么它为什么会给我“2”作为答案?