C# String 、StringBuffer、StrginBuilder

Jia
Dec 21, 2020

2020.12.21

之前被別人問到這個問題,我還真的除了string以外還不知道StringBuffer和StrginBuilder,因此就胡亂猜想了一下,後來查閱資料結果根本使錯的==

,但經查閱後,C# 中好像沒有StringBuffer 類別...,總之,這篇主要筆記一下String 與 StrginBuilder的差別,先講實用結論

為了效率,固定字串採String,動態字串採StrginBuilder

String 類別 每次動態處理資料時會捨棄舊有的記憶體,然後再配置一個新的記憶體給它。也就是每次變動都會實例化一個新的地址,叫耗效能。感覺像是用array存資料,因為長度是不可變的,每次變動就要創造一個新的地方。

StrginBuilder類別:會創造一個緩衝區,然後再配置一個新的記憶體給它。每次變動就會將資料放在緩衝區後面,緩衝區不夠大就會創造一個新的緩衝區。

Refernece

--

--

Jia

看一次不懂 就看兩次吧。每一天努力一點,不知不覺就會成為想像中的樣子的。 like60955@gmail.com