1. 程式人生 > >字串拼接之StringBuilder和string的區別

字串拼接之StringBuilder和string的區別

字串是我們使用最多的資料型別,有時一些操作需要做大量的字串拼接,下面分析一下做字串拼接時StringBuilder和string的區別。

1、string:首先,string是引用型別,存放在堆記憶體中,有“不可變性”的特性(駐留池機制),但是在做字串拼接時,每次都會建立一個新物件,也就是每次都要去申請記憶體空間,因為做大量字串拼接時效能很差,只適合做少量的字串拼接。

=》簡單演示:才10萬資料,哎,慘不忍睹.....


2、StringBuilder:微軟在string的基礎上對StringBuilder做了優化,不會每次都去申請記憶體,而是一下子就申請一大塊記憶體,做大量字串拼接效能非常高。

=》簡單演示:100萬資料,一秒不到