对值类型装箱拆箱保持不变性,对引用类型不保持(保持相关性)
2012-05-28 23:25
288 查看
对值类型装箱拆箱保持不变性,对引用类型不保持(保持相关性)
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(); }
相关文章推荐
- java引用类型数组的装箱和拆箱
- 堆和栈、值类型和引用类型、装箱和拆箱
- 栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱[C#] - [IT]
- .NET中的六个重要概念:栈、堆、值类型、引用类型、装箱和拆箱
- .NET中的六个重要概念:栈、堆、值类型、引用类型、装箱和拆箱
- .NET中六个重要的概念:栈、堆、值类型、引用类型、装箱和拆箱 (转)
- .NET(C#):理解值类型/引用类型,装箱/拆箱,Object类
- 格物致知--《Effective C#》读书笔记--验证接口引用指向装箱后的值类型时无需拆箱
- 了解c#中 值类型/引用类型,装箱/拆箱,Object类
- 深入C#内存管理来分析值类型&引用类型,装箱&拆箱,堆栈几个概念组合之间的区别
- 引用类型与值类型详介,装箱与拆箱
- 栈和托管堆.值类型和引用类型.强制类型转换.装箱和拆箱[C#]
- 6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
- 6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
- 值类型,引用类型,装箱,拆箱
- 栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱
- 值类型和引用类型间的转换-装箱和拆箱
- C# 与 C++强强联合 ,深入C#内存管理来分析 值类型、引用类型、装箱、拆箱、堆栈几个概念组合
- ---类型描述 ---值类型 ---引用类型 ---类型之间的转换 ---装箱和拆箱
- 接口和抽象类,值类型和引用类型,委托,反射,装箱和拆箱