天天看點

C#==>關于字元串(string類和StringBuilder類)

1,建立字元串,如果多次建立一個字元串,或者建立一個較長的字元串,String類就會變得效率低下。

     這時候就去要考慮使用StringBuilder類。

     比如對一個較長的字元串反複做做Replace()操作的時候,每次記憶體都會建立一個新的字元串位址。雖然Replace方法是一種智能化的工作方式,但這樣做效率還是很低。雖然記憶體回收機制會自動回收那些不再被引用的記憶體,但依然還是要花時間和空間來做處理,而使用StringBuilder類就沒有這個問題,StringBuilder類會同一個位址中進行操作,隻有在存儲空間不足的時候才會自動配置設定新的記憶體空間。

2,StringBuilder類在建立的時候,可以通過制定存儲單元的最大長度來制定容量(Capacity參數)。

     如果我們沒有指定容量,或者當StringBuilder類檢測到容量超出的時候,會自動對目前容量翻番,重新設定。

3,我們也可以通過設定StringBuilder類的MaxCapacity屬性來對StringBuilder類的容量做限制。

4,StringBuilder類并不總能提高效率,StringBuilder類基本上在處理多個字元串時使用,如果僅僅連接配接兩個字元創這種操作,推薦使用用string類型。

繼續閱讀