关于String类型

String是引用类型。String是继承自System.Object类型的,而不是象Int32一样,继承自System.ValueType。但是String也是一个比较奇特的类型,一般而言,一个引用类型,构造的时候,是调用的IL指令:newobj。但是String有它自己的特殊的IL指令:ldstr。这说明,虽然String也是引用类型,但是,它和其他的引用类型还是有一些区别的。具体而言,CLR使用了字符串驻留技术,来提升String的性能。
      简单的说,字符串驻留技术保证:内容相同的字符串,其在托管堆栈上的地址也是相同的,这样,就避免了大量的相同的String实例的存在 ,从而提高程序的性能,下面的代码可以验证这一点。       
       string s = "1112";
       MessageBox.Show(object.ReferenceEquals(s,"1112").ToString())
;
       上面的结果,是True。
     

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页