C#中有两种类型的数据,一种为值类型;另一种为引用类型。
值类型:int、char、float、long、bool、double、struct、enum、short、byte、decimal、sbyte、uint、ulong、ushort等
引用类型:string、class、interface、delegate、object等
他们最大的区别就是存储的位置不同,前者值类型存储在内存的栈,后者存储在内存堆中,栈中的内存不需要自己就能回收,堆中的数据需要.Net FrameWork 自己的内存清理机制进行回收。
实参传递的是值,形参传递的是地址。
实参传递打个比方:我电脑有一个文件,你用U盘来拷贝我的这个文件,那么拷贝后你把文件放在你的电脑里进行任何的修改,都不会影响到我电脑里这个文件的内容
-------它们占用的是两个不同的内存空间(你的电脑和我的电脑).
形参传递打个比方,比如你电脑桌面上有一个txt文件,然后你再创建这个txt文件的快捷方式,接着你对这个快捷方式的txt文件内容做任何修改,那么原来的txt文件
内容也会同时被更改--------他们占用的是同一个内存空间(你的电脑).
举个例子:
|
|