说的不对的地方请大家指教哈~刚学C#

 

值类型 可以直接的进行类似a=b进行复制一份数据

引用类型 a=b的结果是a只保存了b数据的地址,此时a与b指向同一个数据,名字不同而已

string同样算为引用类型,但是string内容改变,.NET会给他重新分配一个内存空间存放新的字符串内容,而不是在老的地址上进行改写。

所以

 

;

Console.WriteLine(a);

 

输出结果是:

I'm Coffee

I'm Coffee

 

因为当执行了b = "Hello",.NET申请了一块内存存放了Hello字符串,然后返回一个地址给b,所以对b的改变不影响a

 

相关文章: