对值类型装箱拆箱保持不变性,对引用类型不保持(保持相关性)
class Animal
{
public string Name;
}
class Person
{
public string Name;
public Animal animal;
}
static void Main(string[] args)
{
Person p1;
p1.Name = "小明";
p1.animal = new Animal();
p1.animal.Name = "乌龟";
object o = p1; //此时是将引用类型赋值给obj类型
p1.Name = "小红";
p1.animal.Name = "兔子";
Person p2 = (Person)o;//将obj类型强转为Person类型 此时上面付给animal 的Name 将 变成兔子
Console.WriteLine(p1.animal.Name);
Console.WriteLine(p2.animal.Name);
Console.ReadKey();
}