C#使用String和StringBuilder運行速度測試及各自常用方法簡介
對Sting和StirngBuilder進行速度測試
使用Stopwatch 秒表計時器類(注意引用命名空間System.Diagnostics;)中的方法,Start()開始計時,Stop()停止計時,屬性Elapsed:返回開始到結束的時間間隔
然后對Sting類型的變量和Stringbuilder的對象進行相同的操作,我這里是讓他們添加50000個字符
代碼和運行結果如下:
- String用時:約1.6s
- StringBuilder用時:約0.007s
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運行結果:

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()合并字符串數組,創(chuàng)建一個新字符串
StringBuilder (注意引用命名空間System.Text)
1,創(chuàng)建StringBuilder對象
//==================StringBuilder==================
//利用構造函數創(chuàng)建
StringBuilder sb = new StringBuilder("Czhenya");
//創(chuàng)建初始長度的空對象,
StringBuilder sb1 = new StringBuilder(12);
//創(chuàng)建初始字符串和初始空間
StringBuilder sb2 = new StringBuilder("Czhenya", 20);
//如果初始空間不足,那么將申請新的空間,空間大小為原來的2倍
關于StringBuilder對象創(chuàng)建的時候的內存占用
2,Append()方法,給當前字符串追加一個字符
3,Insert()追加特定格式的字符串
4,Remove()從當前字符串中刪除字符
5,Replace()在當前字符串中,用某個字符或者字符串全部替換另一個字符或者字符串
6,ToString()把當前stringBuilder中存儲的字符串,提取成一個不可變的字符串
點擊查看區(qū)別和詳細用法:http://www.dhdzp.com/article/149520.htm
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
C# 并發(fā)控制框架之單線程環(huán)境下實現每秒百萬級調度
本文介紹了一款專為工業(yè)自動化及機器視覺開發(fā)的C#并發(fā)流程控制框架,通過模仿Go語言并發(fā)模式設計,支持高頻調度及復雜任務處理,已在多個項目中驗證其穩(wěn)定性和可靠性2024-10-10

