1.前言

  string是属于引用类型的,这个大家都知道吧?但是平常在使用的过程中,发现它还是拥有一些值类型的特征的,这到底是为什么呢?

  原因就是.Net考虑到假如大量的操作string对象的时候,大量对引用对象进行操作的时候,性能肯定不如值类型来的爽快。.Net为了提高这个性能,提供了一个专门的解决方案:字符串驻留池!

 

2.正文

  先让我们来看一段代码:

1             string str1 = "aa";2             string str2 = "a" + "a";3             Console.WriteLine(ReferenceEquals(str1, str2));  //print:true

  这str1跟str2的内存指向地址居然是一模一样的!

  原因是.Net在CLR内部维

网友评论