字串是常量;它們的值在建立之後不能更改。
字串的底層是乙個被final修飾的陣列,不能改變
由於string類的物件內容不可改變,所以每當進行字串拼接時,總是會在記憶體中建立乙個新的物件,例如:
// 進行字串的相加,記憶體中就會有多個字串,占用空間多,效率低下
public
static
void
main
(string[
] args)
在例子當中的這個過程,記憶體中先建立了3個字串"a"、「b"和"c」,然後再建立乙個字串用於儲存字串"a"和"b"相加的結果,然後用這個新建的字串再加上字串"c",最終的到結果,在這個過程中總共建立了四個字串才得到了相加後的結果,效率十分低下
stringbuilder類也叫做字串緩衝區,可以提高字串的操作效率(可以看成乙個長度可以變化的字串)
stringbuider類的底層也是乙個陣列,但是沒有被final修飾,可以改變長度
依舊是拿拼接字串舉例
當我們想得到"a"+「b」+"c"拼接出來的字串時,如果使用的時stringbuilder,記憶體中會有乙個長度為16的陣列,每當有乙個字元就存進乙個索引中,不會建立新的字串,如果存入的字串超過了預設16的陣列長度,它就會進行自動擴容。如此在記憶體中始終是乙個陣列,占用的空間少,那麼效率也會比string類的要高
作用: 構造乙個不帶任何字元的字串生成器,其初始容量為 16 個字元。
public
static
void
main
(string[
] args)
作用: 構造乙個字串生成器,並初始化為指定的字串內容。
public
static
void
main
(string[
] args)
public
static
void
main
(string[
] args)
作用:將乙個stringbuilder型別的字串轉換為string型別
public
static
void
main
(string[
] args)
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...