轉 c 中stringbuilder的使用

2021-09-07 19:18:15 字數 2598 閱讀 2333

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

使用stringbuilder 需引用命名空間 using system.text;    

通過用乙個過載的建構函式方法初始化變數,可以建立   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;

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

3   console.writeline(mystringbuilder);   

1   int   myint   =   25;    

2   stringbuilder   mystringbuilder   =   new   stringbuilder("your   total   is   ");  

4   console.writeline(mystringbuilder);   

此示例將   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 中CString,int,float型別轉換

最近被各種型別轉換轉暈了,必須寫下來,下次使用方便。1 int,float轉cstring 無論是int還是float轉csring都是容易的,format函式可以處理。function format const format string const args array of const str...

C 中Hashtable的用法 轉

二,雜湊表的簡單操作 在雜湊表中新增乙個keyvalue鍵值對 hashtableobject.add key,value 在雜湊表中去除某個keyvalue鍵值對 hashtableobject.remove key 從雜湊表中移除所有元素 hashtableobject.clear 判斷雜湊表是...

轉 C 中的泛型

在c 2.0中,對比c 1.1來說,新版本增加了很多新特性,其中最重要的是對泛型的支援。通過泛型,我們可以定義型別安全的資料結構,而無需使用實際的資料型別。這能顯著提高 效能並得到更高質量的 泛型並不是什麼新鮮的東西,他在功能上類似於c 的模板,模板多年前就已存在c 上了,並且在c 上有大量成熟應用...