StringBuilder 的容量(StringBuilder Capacity)

在使用StringBuilder 實例的時候,你不需要關心它爲其存儲的字符串分配了多大的內存,它會自動爲字符串創建足夠的內存。

Capacity 屬性表明了一個StringBuilder 實例最多可以存儲多少個字符,當存儲的字符所需的空間大於這個數的時候,StringBuilder 會自動增大內存,增加Capacity

StringBuilder 實例的Length 屬性則表示當前存儲的字符串的長度。

默認情況下,Capacity 屬性初始值爲16,當需要更多空間的是它就會翻倍

StringBuilder sb1 = new StringBuilder();    // Len=0, Cap=16
sb1.Append("1234567890123456");             // 字符串長度=16, 容量=16
sb1.Append("z");                            // 字符串長度=17, 容量=32
sb1.Append("1234567890123456");             // 字符串長度=33, 容量=64

你也可以在構造StringBuilder 實例的時候指定初始容量:

StringBuilder sb2 = new StringBuilder(100);

原文地址:https://csharp.2000things.com/2010/08/27/71-stringbuilder-capacity/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章