C string 是不可變的,指什麼不可變

2022-02-16 18:33:24 字數 643 閱讀 6891

string  表示文字,即一系列 unicode 字元。

字串是 unicode 字元的有序集合,用於表示文字。string 物件是 system.char 物件的有序集合,用於表示字串。string 物件的值是該有序集合的內容,並且該值是不可變的。

string 物件稱為不可變的(唯讀),因為一旦建立了該物件,就不能修改該物件的值。看來似乎修改了 string 物件的方法實際上是返回乙個包含修改內容的新 string 物件。

stringbuilder 類 表示可變字元字串。無法繼承此類。

此類表示值為可變字串行的類似字串的物件。之所以說值是可變的,是因為在通過追加、移除、替換或插入字元而建立它後可以對它進行修改。

大多數修改此類的例項的方法都返回對同一例項的引用。由於返回的是對例項的引用,因此可以呼叫該引用的方法或屬性。如果想要編寫將連續操作依次連線起來的單個語句,這將很方便。

stringbuilder 的容量是例項在任何給定時間可儲存的最大字元數,並且大於或等於例項值的字串表示形式的長度。容量可通過 capacity 屬性或 ensurecapacity 方法來增加或減少,但它不能小於 length 屬性的值。

如果在初始化 stringbuilder 的例項時沒有指定容量或最大容量,則使用特定於實現的預設值。

C string 是不可變的,指什麼不可變

string 表示文字,即一系列 unicode 字元。字串是 unicode 字元的有序集合,用於表示文字。string 物件是 system.char 物件的有序集合,用於表示字串。string 物件的值是該有序集合的內容,並且該值是不可變的。string 物件稱為不可變的 唯讀 因為一旦建立了...

什麼是可變物件和不可變物件

可變物件 屬性值變化時不建立新的物件。簡單來說 就是乙個物件建立之後,可以對其物件進行修改,修改之後,依舊指向同乙個物件,除了八大基本型別和包裝型別以及string類外。其他的都屬於可變基本型別。例題 list list newarraylist list.add 上河圖 list.add 青木瓜上...

為什麼說String是不可變的

簡單的例子 string s1 abc string s1 s1 s1 def 此時s1變化了嗎?變了!s1的位址從指向 abc 變成指向 def 重要的不在這裡,記憶體上的 abc 本身並沒有被改變!指向 abc 的s2也沒有被改變 兩個final 乙個在string的類修飾符,乙個是string...