C#基础知识(需要特别注意的知识点).docxVIP

  • 7
  • 0
  • 约1.66万字
  • 约 16页
  • 2019-08-31 发布于浙江
  • 举报
《C#4.0本质论》学习笔记 值类型和引用类型的区别 值类型 引用类型 直接包含值,变量引用的位置就是值在内存中实际存储的位置。 存储是对一个内存位置的引用(内存地址),要去那个位置才能找到真正的数据 数据存储在栈的内存区域中 数据存储在堆的内存区域 在编译时确定内存量 在运行时,从变量中读取内存地址,然后到指定内存地址中读取数据。 复制数据的一个副本 只复制数据的地址 将new用于值类型,会使用默认值初始化内存 new,调用构造函数生成一个对象(实例) 装箱与拆箱 装箱:将一个值类型转换成一个引用类型 首先在堆中分配好内存; 一次内存复制:栈上的值类型数据复制到堆上分配好的位置; 对象或接口引用得到更新,指向堆上的位置。 拆箱:将一个引用类型转换为值类型 装箱频繁发生,会大幅影响性能; 不允许在lock()语句中使用值类型。 String 与StringBuilder String 对象称为不可变的(只读),因为一旦创建了该对象,就不能修改该对象的值 StringBuilder此类表示值为可变字符序列的类似字符串的对象 String 对象串联操作总是用现有字符串和新数据创建新的对象。StringBuilder 对象维护一个缓冲区,以便容纳新数据的串联。如果有足够的空间,新数据将被追加到缓冲区的末尾;否则,将分配一个新的、更大的缓冲区,原始缓冲区中的数据被复制到新的缓冲区,然后

文档评论(0)

1亿VIP精品文档

相关文档