поясните вывод программы
class MyClass
{
public string str;
}
class Program
{
public static void Go(object o)
{
o = "1";
} public static void Go(MyClass c)
{
c.str = "after";
}
static void Main(string[] args)
{
object o = "0";
Console.WriteLine(o);
Go(o);
Console.WriteLine(o);
MyClass c = new MyClass();
c.str = "before";
Console.WriteLine(c.str);
Go(c);
Console.WriteLine(c.str);
}
}
я не понимаю почему оба параметра ссылки, они меняются в методе, но в первом случае происходит копирование, а во втором поверхностное копирование?