值类型和引用类型-值传递

值类型:int double char decimal bool enum struct(存储在栈中)
引用类型:string 数组 自定义类 集合 object 接口(存储在堆中)

值类型在复制的时候,传递的是这个值得本身。

引用类型在复制的时候,在堆中没有重新开辟空间,传递的是对这个对象的引用地址。两个地址指向堆中同一个空间,其中一个地址改变会导致另一个地址也发生改变(string特殊 字符串的不可变性 )

特殊引用类型:string

string 会在堆中继续开辟一个新的空间,地址改变不会改变其地址指向空间中的内容。

ref使返回的形参改变实参的值