值类型与引用类型
内存中有栈、堆、静态存储区
值类型 int a; 直接存在栈上
引用类型 student s=new student() s会指向栈,在栈中的会存储堆上的内存地址 会在堆上开辟内存存储对象s
值类型 只需要一次寻址就可以找到值 引用类型需要两次寻址才能找到值 值类型效率高于引用类型
值类型均隐式派生自System.ValueType 数值类型、bool、结构、枚举
引用类型派生自System.Object 字符串、数组、类、接口等
引用类型变量的赋值只复制对对象的引用(在内存中的地址),而不复制对象本身。 值类型变量赋给另一个值类型变量时,将复制包含的值(在栈中)
值类型的执行速度快于引用类型