值类型与引用类型

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




原文地址:https://www.cnblogs.com/liuzhiye/p/2678067.html