对值类型装箱拆箱保持不变性,对引用类型不保持(保持相关性)
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();
}
本文详细介绍了C#中引用类型在装箱和拆箱过程中的特性,通过实例展示了如何在赋值和强转过程中保持或改变引用类型属性的值。
3502

被折叠的 条评论
为什么被折叠?



