夜的咖啡

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

 

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

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

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

所以

 

Code
string a = "I'm Coffee";

string b;

= a;

Console.WriteLine(a);

= "Hello";

Console.WriteLine(a);

 

输出结果是:

I'm Coffee

I'm Coffee

 

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

 

posted on 2009-05-19 20:32  夜的咖啡  阅读(161)  评论(0编辑  收藏  举报