C 從入門到精通 第5章 字元與字串(3)

2021-09-23 17:02:17 字數 1210 閱讀 7901

【stringbuilder類】

命名空間為:system.text;

stringbuilder str2 = new stringbuilder(" ");//宣告乙個空的stringbuilder類的變數
stringbuilder str1 = new stringbuilder("(),(),(),2、4、6、7、8");

console.writeline(str1);

str1.remove(0, 9);

str1.insert(0, "(門前大橋下),(游過一群鴨),(快來快來數一數),");

console.writeline(str1);

console.readline();

【string類與stringbuilder類的比較】

string類建立物件,改變物件的值,是在堆裡面定義了另乙個物件,如果無數次改變物件的值,那麼就會在堆裡面建立無數個物件;

stringbuilder類建立乙個物件,就可以直接改變這個物件的值,堆裡面永遠只有這乙個物件;

很顯然在執行多次操作時,stringbuilder類的效率更高且消耗更小。

舉個例子:

string str1 = "";  //宣告乙個空的string型別變數

long starttime = datetime.now.millisecond; //記錄開始時間,毫秒級

for(int i=0;i<10000;i++)

long endtime = datetime.now.millisecond; //記錄結束時間

long time = endtime - starttime;

stringbuilder str2 = new stringbuilder(""); //宣告空的stringbuilder型別變數

starttime = datetime.now.millisecond;

for(int i=0;i<10000;i++)

endtime = datetime.now.millisecond;

time = endtime - starttime;

console.readline();

結果是:

很顯然看出stringbuilder類只消耗了3毫秒。

/僅作為本人學習筆記/

C 從入門到精通 第5章 字元與字串(2)

擷取字串 使用substring方法。string strb stra.substring 1,4 string strc stra.substring 1,stra.indexof 載 console.readline 分割字串 使用split方法。分割的符號有多種的情況 string stra ...

Android從入門到精通第12章 執行緒與訊息處理

建立執行緒 thread.start thread.sleep 1000 thread.interrupt handler訊息傳遞機制 在新建立的執行緒中操作ui介面。迴圈者looper簡介 android中,乙個執行緒對應乙個looper物件,而乙個looper物件又對應乙個messagequeu...

Go語言從入門到精通 字元型別

字串中的每乙個元素叫做 字元 在遍歷或者單個獲取字串元素時可以獲得字元。go 語言的字元有以下兩種 使用 fmt.printf 中的 t動詞可以輸出變數的實際型別,使用這個方法可以檢視 byte 和 rune 的本來型別,如下 var a byte a fmt.printf d t n a,a va...