欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

string與stringbuilder兩者的區(qū)別

 更新時間:2019年01月22日 08:47:11   作者:Mogul1  
今天小編就為大家分享一篇關(guān)于string與stringbuilder兩者的區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

String 對象是不可改變的。每次使用 System.String 類中的方法之一時,都要在內(nèi)存中創(chuàng)建一個新的字符串對象,這就需要為該新對象分配新的空間。 

StringBuilder 對象是動態(tài)對象,允許擴(kuò)充它所封裝的字符串中字符的數(shù)量,但是您可以為它可容納的最大字符數(shù)指定一個值,當(dāng)修改 StringBuilder 時,在達(dá)到容量之前,它不會為其自己重新分配空間。當(dāng)達(dá)到容量時,將自動分配新的空間且容量翻倍??梢允褂弥剌d的構(gòu)造函數(shù)之一來指定 StringBuilder 類的容量。

例如: StringBuilder hr = new StringBuilder(); hr.Append("a")他不會頻繁申請內(nèi)存空間,他會自動向后擴(kuò)展。

兩者的區(qū)別:

1. string 對象時恒定不變的,stringBuider對象表示的字符串是可變的。stringBuilder是.net提供的動態(tài)創(chuàng)建string的高效方式,以克服string對象恒定性帶來的性能影響。

2. 對于簡單的字符串連接操作,在性能上stringBuilder并不一定總是優(yōu)于string。因?yàn)閟tringBuider對象創(chuàng)建代價較大,在字符串目標(biāo)連接較少的情況下,過度濫用stringBuilder會導(dǎo)致性能的浪費(fèi),只有大量的或者無法預(yù)知次數(shù)的字符串操作,才考慮stringBuilder來實(shí)現(xiàn)。事實(shí)上,一般連接次數(shù)設(shè)置100次以內(nèi),根本看不出兩者的性能差別。

3. 當(dāng)修改字符串信息時,此時不許創(chuàng)建對象,可以使用stringBuilder對象。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

最新評論