1.前言

  string是屬于引用類型的,這個(gè)大家都知道吧?但是平常在使用的過(guò)程中,發(fā)現(xiàn)它還是擁有一些值類型的特征的,這到底是為什么呢?

  原因就是.Net考慮到假如大量的操作string對(duì)象的時(shí)候,大量對(duì)引用對(duì)象進(jìn)行操作的時(shí)候,性能肯定不如值類型來(lái)的爽快。.Net為了提高這個(gè)性能,提供了一個(gè)專門的解決方案:字符串駐留池!

 

2.正文

  先讓我們來(lái)看一段代碼:

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

  這str1跟str2的內(nèi)存指向地址居然是一模一樣的!

  原因是.Net在CLR內(nèi)部維

網(wǎng)友評(píng)論