System。String 具備不可修改性,在程序中這樣的特性容易產生性能的問題。針對這個問題,。NET提供的SystemBuilder類可以解決類似的問題。
String類型具有的特點:
- String 是引用類型,在堆上分配內存。
- String對象一旦形成,就不可改變。
- String 提供了大量的便捷的字符串操作函數。
- 運算時會產生一個新的實例。
- 在程序中定義相等運算符(==和!=),可方便比較String對象的值(而不是引用)
StringBuider 類型具有的特點:
- StringBuider對象是動態對象,允許擴充它所封裝的字符串中字符的數量。
- StringBuider可以用於修改StringBuider中的內容。
String對象一旦生成,就不可改變,所以每次使用System。String 類中的方法時,都需要在內存中創建一個新的字符串對象,這就會分配一個新的空間給新的對象。如果不創建新的對象,只是修改字符串,則可以使用StringBuider類。StringBuider 類型可以很好的解決字符串操作的性能問題,在它生成字String 對象之前,將不會產生任何String對象。
StringBuider 與 System。String 相比,它會保留自己的字符緩衝區。在針對StringBuider執行字符串操作時,會首先檢查緩衝區的大小,看是否能容納新的字符串。如果發現不夠,則會增加需要的內存數量,因此可以大幅降低內存配置操作的次數,並可以有效提高性能。