1. 程式人生 > >StringBuilder類與string類的區別

StringBuilder類與string類的區別

right .net 隨著 標簽 oba uil att 新的 class

string本身是不可改變的,它只能賦值一次,每一次內容發生改變,都會生成一個新的對象,然後原有的對象引用新的對象,而每一次生成新對象都會對系統性能產生影響,這會降低.NET編譯器的工作效率。string操作示意圖如圖1所示。

技術分享圖片

1string操作示意圖

StringBuilder類則不同,每次操作都是對自身對象進行操作,而不是生成新的對象,其所占空間會隨著內容的增加而擴充,這樣,在做大量的修改操作時,不會因生成大量匿名對象而影響系統性能。StringBuilder操作示意圖如圖2所示。

技術分享圖片

2StringBuilder操作示意圖

技巧:當程序中需要大量的對某個字符串進行操作時,應該考慮應用StringBuilder

類處理該字符串,其設計目的就是針對大量string操作的一種改進辦法,避免產生太多的臨時對象;而當程序中只是對某個字符串進行一次或幾次操作時,采用string類即可。



感謝讀者朋友對明日科技的支持,如果您對圖書中的講解及光盤源碼有任何問題,可以直接登錄
http://www.mingrisoft.com上的社區進行發貼,把您的問題詳細的說明一下,我們的技術人員會在那裏給您回復!

本文來自明日科技出版的《零基礎學C#,轉載請註明出處!!!

StringBuilder類與string類的區別

string本身是不可改變的,它只能賦值一次,每一次內容發生改變,都會生成一個新的對象,然後原有的對象引用新的對象,而每一次生成新對象都會對系統性能產生影響,這會降低.NET

編譯器的工作效率。string操作示意圖如圖1所示。

1string操作示意圖

StringBuilder類則不同,每次操作都是對自身對象進行操作,而不是生成新的對象,其所占空間會隨著內容的增加而擴充,這樣,在做大量的修改操作時,不會因生成大量匿名對象而影響系統性能。StringBuilder操作示意圖如圖2所示。

2StringBuilder操作示意圖

技巧:當程序中需要大量的對某個字符串進行操作時,應該考慮應用StringBuilder類處理該字符串,其設計目的就是針對大量string操作的一種改進辦法,避免產生太多的臨時對象;而當程序中只是對某個字符串進行一次或幾次操作時,采用string

類即可。

標簽:C#StringBuilderstring類可變字符串string類與StringBuilder類區別

本文來自明日科技出版的《零基礎學C#,轉載請註明出處!!!

StringBuilder類與string類的區別