StringBuilder的原理與使用

2021-10-24 15:32:12 字數 1350 閱讀 8159

字串是常量;它們的值在建立之後不能更改。

字串的底層是乙個被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...