Я чувствую себя довольно невежественным, спрашивая это, но сможет ли кто-нибудь объяснить мне, почему это происходит?
class MyClass{ public int i {get; set; } }
class Program
{
static void Main(string[] args)
{
MyClass a = new MyClass();
MyClass b = new MyClass();
b.i = 2;
a = b;
a.i = 1;
Console.Write(b.i + "\n"); //Outputs 1
}
}
Это имеет смысл для меня, если бы я использовал указатели и все такое замечательное, но у меня сложилось впечатление, что в C # этот b останется независимым от "a".
Я просто использую ужасно плохую практику? Может быть, кто-то может указать мне на то, что объясняет, почему это так в C #?
Спасибо.