標籤:字串串連 建構函式 .text 記憶體 分享 text 資料 end alt
StringBuild的是個動態對象,可直接拼加上字串;而string對象的步驟:先初始化對象並賦值了,而後在拼加字串時,先要建立需要拼加的字串,然後再拼加,所以這就是StirngBuild遠比String效率高的原因!
(一)String 對象是不可改變的。每次使用 System.String 類中的方法之一時,都要在記憶體中建立一個新的字串對象,這就需要為該新對象分配新的空間。在需要對字串執行重複修改的情況下,與建立新的 String 對象相關的系統開銷可能會非常昂貴。
如果要修改字串而不建立新的對象,則可以使用 System.Text.StringBuilder 類。例如,當在一個迴圈中將許多字串串連在一起時,使用 StringBuilder 類可以提升效能。StringBuilder 運行速度聽說是string 200倍。
通過用一個重載的建構函式方法初始設定變數,可以建立 StringBuilder 類的新執行個體,正如以下樣本中所闡釋的那樣。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
StringBuilder 對象設定容量和長度
StringBuilder 對象是動態對象,允許擴充它所封裝的字串中字元的數量,可以為它可容納的最大字元數指定一個值。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25);
另外,可以使用讀/寫 Capacity 屬性來設定對象的最大長度。以下程式碼範例使用 Capacity 屬性來定義對象的最大長度。
MyStringBuilder.Capacity = 25;
下面列出此類的幾個常用方法:
static void Main(string[] args) { StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); MyStringBuilder.Append(" My name is haoge !"); //添加資料添加到原有字串末尾。 //MyStringBuilder.Capacity =100; //寫入最大容量; //MyStringBuilder.Length = 0; //清空資料 //MyStringBuilder.Remove(0,MyStringBuilder.Length);//清空資料 MyStringBuilder.Insert(17,"222222"); // 第十八個字元後面插入222222 MyStringBuilder.Replace("is","are"); //將is替換為are。 Console.WriteLine(MyStringBuilder); int MyInt =45; StringBuilder MyStringBuilder1 = new StringBuilder("Your total is "); MyStringBuilder1.AppendFormat("{0:C} ", MyInt); Console.WriteLine(MyStringBuilder1); Console.ReadKey();
[轉]C# 之StringBulider簡單用法