c 中stringbuilder的使用

2022-03-07 04:05:17 字數 2797 閱讀 7922

string   物件是不可改變的。每次使用   system.string   類中的方法之一時,都要在記憶體中建立乙個新的字串物件,這就需要為該新物件分配新的空間。在需要對字串執行重複修改的情況下,與建立新的   string   物件相關的系統開銷可能會非常昂貴。如果要修改字串而不建立新的物件,則可以使用   system.text.stringbuilder   類。例如,當在乙個迴圈中將許多字串連線在一起時,使用   stringbuilder   類可以提公升效能。  

通過用乙個過載的建構函式方法初始化變數,可以建立   stringbuilder   類的新例項,正如以下示例中所闡釋的那樣。  

1stringbuilder   mystringbuilder   

=new

stringbuilder(

"hello   world!

"); 

設定容量和長度  

雖然   stringbuilder   物件是動態物件,允許擴充它所封裝的字串中字元的數量,但是您可以為它可容納的最大字元數指定乙個值。此值稱為該物件的容量,不應將它與當前   stringbuilder   物件容納的字串長度混淆在一起。例如,可以建立   stringbuilder   類的帶有字串「hello」(長度為   5)的乙個新例項,同時可以指定該物件的最大容量為   25。當修改   stringbuilder   時,在達到容量之前,它不會為其自己重新分配空間。當達到容量時,將自動分配新的空間且容量翻倍。可以使用過載的建構函式之一來指定   stringbuilder   類的容量。以下**示例指定可以將   mystringbuilder   物件擴充到最大   25   個空白。  

1stringbuilder   mystringbuilder   

=new

stringbuilder(

"hello   world!

",   

25); 

另外,可以使用讀/寫   capacity   屬性來設定物件的最大長度。以下**示例使用   capacity   屬性來定義物件的最大長度。  

1mystringbuilder.capacity   =25

;stringbuilder   mystringbuilder   

=new

stringbuilder(

"hello   world!

");  2"

what   a   beautiful   day.

");  

3console.writeline(mystringbuilder);   

intmyint   =25

;    

2stringbuilder   mystringbuilder   

=new

stringbuilder(

"your   total   is   

");  3"

",   myint);  

4console.writeline(mystringbuilder);   

此示例將   your   total   is   $25.00   顯示到控制台。  

insert  

insert   方法將字串或物件新增到當前   stringbuilder   中的指定位置。以下示例使用此方法將乙個單詞插入到   stringbuilder   的第六個位置。  

1stringbuilder   mystringbuilder   

=new

stringbuilder(

"hello   world!

");  

2mystringbuilder.insert(6,

"beautiful   

");  

3console.writeline(mystringbuilder);   

此示例將   hello   beautiful   world!   顯示到控制台。  

remove  

可以使用   remove   方法從當前   stringbuilder   中移除指定數量的字元,移除過程從指定的從零開始的索引處開始。以下示例使用   remove   方法縮短   stringbuilder。  

1stringbuilder   mystringbuilder   

=new

stringbuilder(

"hello   world!

");  

2mystringbuilder.remove(5,

7);  

3console.writeline(mystringbuilder);   

此示例將   hello   顯示到控制台。  

replace  

使用   replace   方法,可以用另乙個指定的字元來替換   stringbuilder   物件內的字元。以下示例使用   replace   方法來搜尋   stringbuilder   物件,查詢所有的感嘆號字元   (!),並用問號字元   (?)   來替換它們。  

1stringbuilder   mystringbuilder   

=new

stringbuilder(

"hello   world!

");  

2mystringbuilder.replace('!

',   '?

');  

3console.writeline(mystringbuilder);   

此示例將   hello   world?   顯示到控制台。

c 中stringbuilder的使用

string 物件是不可改變的。每次使用 system.string 類中的方法之一時,都要在記憶體中建立乙個新的字串物件,這就需要為該新物件分配新的空間。在需要對字串執行重複修改的情況下,與建立新的 string 物件相關的系統開銷可能會非常昂貴。如果要修改字串而不建立新的物件,則可以使用 sys...

c 中stringbuilder的使用

c 中stringbuilder的使用 string 物件是不可改變的。每次使用 system.string 類中的方法之一時,都要在記憶體中建立乙個新的字串物件,這就需要為該新物件分配新的空間。在需要對字串執行重複修改的情況下,與建立新的 string 物件相關的系統開銷可能會非常昂貴。如果要修改...

c 中stringbuilder的使用

string 物件是不可改變的。每次使用 system.string 類中的方法之一時,都要在記憶體中建立乙個新的字串物件,這就需要為該新物件分配新的空間。在需要對字串執行重複修改的情況下,與建立新的 string 物件相關的系統開銷可能會非常昂貴。如果要修改字串而不建立新的物件,則可以使用 sys...