c 中stringbuilder的使用

2021-09-13 09:55:32 字數 2193 閱讀 7845

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

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

1 stringbuilder   mystringbuilder   =   new   stringbuilder("hello   world!"); 

設定容量和長度  

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

1 stringbuilder   mystringbuilder   =   new   stringbuilder("hello   world!",   25); 

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

1 mystringbuilder.capacity   =   25;

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

insert  

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

1   stringbuilder   mystringbuilder   =   new   stringbuilder("hello   world!");  

2   mystringbuilder.insert(6,"beautiful   ");  

3   console.writeline(mystringbuilder);   

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

remove  

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

1   stringbuilder   mystringbuilder   =   new   stringbuilder("hello   world!");  

2   mystringbuilder.remove(5,7);  

3   console.writeline(mystringbuilder);   

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

replace  

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

1   stringbuilder   mystringbuilder   =   new   stringbuilder("hello   world!");  

2   mystringbuilder.replace('!',   '?');  

3   console.writeline(mystringbuilder);   

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

出自

c 中stringbuilder的使用

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

c 中stringbuilder的使用

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

C 中 StringBuilder類使用

c 型別分為值型別 分配空間為棧,存放值 和引用型別 分配空間為堆,存放指標 string型別為引用型別。string物件,一旦賦值就不可改變 叫做字串的恆定性 賦值完了之後,再對string進行拼接,賦值等,都會再記憶體裡面重新分配乙個新的記憶體空間。在需要對字串執行重複修改的情況下,與建立新的 ...