stringbuilder 類存在的理由是: 在對字串增刪改時, 比 string 類更快; 更快的原因是無須像 string 一樣反覆地釋放和重建.
但它會在需要時重新分配記憶體, 如果把需要的記憶體預製好, 它會更快.
stringbuilder 的屬性與方法:
/* 屬性 */
capacity; // 容量; 可讀寫, 也可在構建時設定, 但改寫時使用 ensurecapacity() 更保險
length; // 長度; 可讀寫, 寫入 0 時, 同 clear(); length <= capacity <= maxcapacity
maxcapacity; // 最大容量; 唯讀, 只能在構建時設定, 超出則異常
/* 方法 */
clear(); // 取消; 之後 length = 0; 但 capacity、maxcapacity 不變
copyto(); // 複製指定部分到 char
ensurecapacity(); // 設定 capacity
insert(); // 插入
remove(); // 移除
replace(); // 替換
tostring(); // 輸出文字, 可同時擷取
建構函式的 6 種過載:
using system.text; // stringbuilder 所屬的命名空間protected
void button1_click(object sender, eventargs e)
//容量小於當前大小...
/* 用字串構建, 同時指定 capacity */
stringbuilder sb5 = new
stringbuilder("1234567890", 32);
str += string.format("capacity: \tlength: \n", sb5.capacity, sb5.length); //capacity: 32 length: 10
/* 從字串擷取構建, 同時指定 capacity */
stringbuilder sb6 = new
stringbuilder("abcdefg", 1, 3, 12);
str += string.format("\"\"\tcapacity: \tlength: ", sb6, sb6.capacity, sb6.length); //"bcd" capacity: 12 length: 3
textbox1.text = str;
}
練習:
//tostring()protected
void button1_click(object sender, eventargs e)
protected
void button2_click(object sender, eventargs e)
//insert()、remove()、replace()
protected
void button3_click(object sender, eventargs e)
//copyto
protected
void button4_click(object sender, eventargs e)
StringBuilder的常見用法
stringbuilder的常見用法。1 初始化乙個stringbuilder。system.text.stringbuilder sb new system.text.stringbuilder 或者 stringbuilder sb new stringbuilder 3 刪除sb裡面的已有的內...
StringBuilder的基本用法
1.構造stringbuiler物件 1.stringbuiler using system using system.collections using system.linq using system.text public class test 2.基本使用方式 stringbuilder的使...
StringBuilder的常用方法
在程式開發過程中,我們常常碰到字串連線的情況,方便和直接的方式是通過 符號來實現,但是這種方式達到目的的效率比較低,且每執行一次都會建立乙個string物件,即耗時,又浪費空間。使用stringbuilder類就可以避免這種問題的發生,下面就stringbuilder的使用做個簡要的總結 一 建立s...