码迷,mamicode.com
首页 > Web开发 > 详细

浅谈.Net中内置的一种特殊的引用类型 -- String类型

时间:2014-12-20 14:11:53      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

在.Net内置了两种特殊的引用类型 - Object & String

有关C# String类型究竟是值类型还是引用类型,在很多C#学习者中都或多或少造成过困惑。

string在内存的表示上是引用(如果有C基础就能很好明白),但在实际使用中,.NET把string弄成了值类型。所以不要把string当引用类型看。

.NET中把引用的字符串值类型化的方案是每次对字符串变量赋值,包括字符串相加都是完全开辟新的存储空间给字符串变量使用。所以在使用string类型进行运算时比较消耗资源,此时可以使用stringbuilder类型替代。

string b = "h";
b += "ello";

字符串是不可变的,即:字符串对象在创建后,尽管从语法上看您似乎可以更改其内容,但事实上并不可行。 例如,编写此代码时,编译器实际上会创建一个新字符串对象来保存新的字符序列,且新对象将赋给 b。 然后字符串“h”将适宜于垃圾回收。

 

浅谈.Net中内置的一种特殊的引用类型 -- String类型

标签:

原文地址:http://www.cnblogs.com/gavin-king/p/4175315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!