對sting和stirngbuilder進行速度測試
使用stopwatch 秒表計時器類(注意引用命名空間system.diagnostics;)中的方法,start()
開始計時,stop()
停止計時,屬性elapsed
:返回開始到結束的時間間隔
然后對sting類型的變量和stringbuilder的對象進行相同的操作,我這里是讓他們添加50000個字符
代碼和運行結果如下:
- string用時:約1.6s
- stringbuilder用時:約0.007s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
using system; using system.diagnostics; using system.text; namespace stringbuild時間測試 { class program { static void main( string [] args) { stopwatch sw = new stopwatch(); sw.start(); stringbuilder sb = new stringbuilder(); for ( int i = 0; i < 50000; i++) { sb.append(i); } sw.stop(); console.writeline(sw.elapsed); console.readkey(); } } } |
使用stringbuilder運行結果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
using system; using system.diagnostics; using system.text; namespace stringbuild時間測試 { class program { static void main( string [] args) { stopwatch sw = new stopwatch(); sw.start(); string num = "" ; for ( int i = 0; i < 50000; i++) { num += i; } sw.stop(); console.writeline(sw.elapsed); console.readkey(); } } } |
使用string運行結果:
常用方法簡介:
string
1,compareto()方法,比較字符串的內容 (根據assice比較大小,相等返回0,大的返回1,小則返回-1)
2,replace()用另一個字符(字符串)替換字符串中給定的字符(字符串)
3,split()在出現給定字符的地方,把字符串拆分稱一個字符串數組(根據(參數)分解字符串,形成新的字符串)
4,substring()在字符串中檢索給定位置的子字符串(截取字符串返回子串,兩個重載)
5,tolower()把字符串轉換成小寫形式
6,toupper()把字符串轉換成大寫形式
7,trim()刪除首尾的空白(比如:注冊時用戶名,密碼不允許首尾出現空格)
8,concat()方法,合并字符串
9,copyto()方法,把字符串中指定的字符復制到一個數組中
10,format()方法,格式化字符串
11,indexof()方法,取得字符串第一次出現某個給定字符串或者字符的位置(返回第一個字符串出現的位置,不存在則返回-1,常用于判斷是否包含子串)
12,insert()把一個字符串實例插入到另一個字符串實例的制定索引處
13,join()合并字符串數組,創建一個新字符串
stringbuilder (注意引用命名空間system.text)
1,創建stringbuilder對象
1
2
3
4
5
6
7
8
|
//==================stringbuilder================== //利用構造函數創建 stringbuilder sb = new stringbuilder( "czhenya" ); //創建初始長度的空對象, stringbuilder sb1 = new stringbuilder(12); //創建初始字符串和初始空間 stringbuilder sb2 = new stringbuilder( "czhenya" , 20); //如果初始空間不足,那么將申請新的空間,空間大小為原來的2倍 |
關于stringbuilder對象創建的時候的內存占用
2,append()方法,給當前字符串追加一個字符
3,insert()追加特定格式的字符串
4,remove()從當前字符串中刪除字符
5,replace()在當前字符串中,用某個字符或者字符串全部替換另一個字符或者字符串
6,tostring()把當前stringbuilder中存儲的字符串,提取成一個不可變的字符串
點擊查看區別和詳細用法:http://www.jfrwli.cn/article/228744.html
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
原文鏈接:https://blog.csdn.net/Czhenya/article/details/78193376