1樓:我無無無
string可以儲存和操作字串,即包含多個字元的字元資料。這個string類提供了儲存數值不可改變的字串。
stringbuilder是執行緒不安全的,執行效率高,如果一個字串變數是在方法裡面定義,這種情況只可能有一個執行緒訪問它,不存在不安全的因素了,則用stringbuilder。如果要在類裡面定義成員變數,並且這個類的例項物件會在多執行緒環境下使用或者變數的內容不斷變化,那麼最好用stringbuffer。
2樓:從哲妍
就是一個變數和常量的關係
stringbuffer物件的內容可以修改
而string物件一旦產生後就不可以被修改,重新賦值其實是兩個物件
3樓:艾夢嬌
string是一個不可變的字串,而stringbuilder是一個可變的字元序列
這個string類提供了數值不可改變的字串
stringbuilder用在字串緩衝區被單個執行緒使用的時候
4樓:匿名使用者
先說可變與不可變,不變是一種設計模式,意思是說當此物件建立後,你不能改變它的內部狀態,對string,你建立了一個string,你能通過set方法改變它的長度length嗎。stringbuilder既可以。
stringbuilder類被設計用作 stringbuffer 的一個簡易替換,用在字串緩衝區被單個執行緒使用的時候(這種情況很普遍)。如果可能,建議優先採用該類,因為在大多數實現中,它比 stringbuffer 要快。
c#中的string與stringbuilder有什麼區別
5樓:zealot支點
stringbuilder是專門用於字串操作的類,效率比直接操作string高。
6樓:匿名使用者
如果有大量的字串拼接的操作最好用 stringbuilder
效能要比用 string 高很多
你可以寫個程式自己試試~比較一下!
7樓:華華兮
string類具有恆常性,即當a="345";當要修改a,比如要再增加a的長度或修改a的值時,a原來指向「345」,此時修改後,a重新指向新的字串,而非指向原來「345」的位置。
而stringbulider則可以對源字串進行修改,修改後,指向的是原來物件的位置。
c中string與stringh的作用和區別是什麼
一般一個來c 的老的帶 自.h 副檔名的庫檔案,比如iostream.h,在bai新標準後的標準庫中都有du一個不帶 h 擴充套件zhi名的相對應,dao區別除了後者的好多改進之外,還有一點就是後者的東東都塞進了 std 名字空間中。但唯獨string特別。問題在於c 要相容c的標準庫,而c的標準庫...
C中的string和String有什麼區別
string是c 中的類,string是.netframework的類 在c ide中不會顯示藍色 c string對映為.net framework的string 如果用string,編譯器會把它編譯成string,所以如果直接用string就可以讓編譯器少做一點點工作 如果使用c 建議使用str...
關於C中的String類
1.只能p null不能 p null否則你是給一個char賦值null 2.上面不對 應該是小寫 1.下面執行時為什麼會出錯!char p null string str p 按上面string類的普通建構函式,這裡應該允許傳null!你這裡的 string 是標準的 string,而不是上面的 ...