值类型与引用类型
值类型与引用类型
值类型:int 、char、double、float、long、short、byte、bool、enum、struct、decimal
注意:值类型都是派生自ValueType
值类型不能继承,只能实现接口。
引用类型:sting 、数组、类(子定义数据类型)、接口、委托、
Int[]n={1,2,3};//引用类型。
引用类型都派生自:Object
引用类型可以继承(类之间可以继承)
拾贝:内存里面我们分【栈】和【堆】
所谓的栈:在内存中连续的空间。栈中的内容进行拷贝的时候,都是复制一个数据副本。
所谓的堆:在内存中不连续的空间。
在这里之所以要强调堆和栈,是因为值类型分配的内存空间是固定的。即例如:char 类型占一个字节,就会在没存中开辟一个字节的空间,不管你用得到还是用不到。而引用类型就不一样了,它是根据数据大小而开辟的。
注意:一般传递都是值传递。即都是将数据拷贝了一份,然后进行操作。