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;
}
}
После запуска программы Above, я получил ответ «1», который я не могу понять, КАК? Может кто-нибудь объяснить, ответ по мне должно быть «3» -СпасибоОбъясните вывод программы ниже?
Но когда я называю метод FUNC1, который определен ниже: -
private void Func1(Employee e)
{
e.Name = "2";
}
я получаю «2» в качестве ответа. Теперь, если e был передан как тип значения, то как получилось, что он дал мне «2» в качестве ответа?
Да, я создаю новый экземпляр в Func2, но после изменения свойства name я назначаю этот вновь созданный экземпляр уже созданному экземпляру, поэтому именно поэтому я думал, что он должен отражать –