在C#中,值类型和引用类型有什么不同?

解决方案 »

  1.   

    从概念上看,值类型直接存储其值,而引用类型存储对其值的引用。这两种类型存储在内存的不同地方。在C#中,我们必须在设计类型的时候就决定类型实例的行为。这种决定非常重要,用《CLR via C#》作者Jeffrey Richter的话来说,“不理解引用类型和值类型区别的程序员将会给代码引入诡异的bug和性能问题(I believe that a developer who misunderstands the difference between reference types and value types will introduce subtle bugs and performance issues into their code.)”。这就要求我们正确理解和使用值类型和引用类型。
    1. 通用类型系统 
    2. 值类型 
    3. 引用类型 
    4. 值类型和引用类型在内存中的部署 
    4.1 数组在内存中的部署 
    4.2 值类型和引用类型的嵌套 
    5. 正确使用值类型和引用类型 
    5.1 辨明值类型和引用类型的使用场合 
    5.2 将值类型尽可能实现为具有常量性和原子性的类型 
    5.3 确保0为值类型的有效状态 
    5.4 尽量减少装箱和拆箱 
    6. 总结 
    7. 参考 http://www.code-123.com/html/20087151126431471262.html