国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用String和StringBuilder運(yùn)行速度測(cè)試及各自常用方法簡介

2019-10-29 19:58:08
字體:
供稿:網(wǎng)友

對(duì)Sting和StirngBuilder進(jìn)行速度測(cè)試

使用Stopwatch 秒表計(jì)時(shí)器類(注意引用命名空間System.Diagnostics;)中的方法,Start()開始計(jì)時(shí),Stop()停止計(jì)時(shí),屬性Elapsed:返回開始到結(jié)束的時(shí)間間隔

然后對(duì)Sting類型的變量和Stringbuilder的對(duì)象進(jìn)行相同的操作,我這里是讓他們添加50000個(gè)字符

代碼和運(yùn)行結(jié)果如下:

  • String用時(shí):約1.6s
  • StringBuilder用時(shí):約0.007s
using System;using System.Diagnostics;using System.Text;namespace StringBuild時(shí)間測(cè)試{ 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運(yùn)行結(jié)果:

C#,String,StringBuilder,運(yùn)行速度

using System;using System.Diagnostics;using System.Text;namespace StringBuild時(shí)間測(cè)試{ 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運(yùn)行結(jié)果:

C#,String,StringBuilder,運(yùn)行速度

常用方法簡介:

String

1,CompareTo()方法,比較字符串的內(nèi)容 (根據(jù)assice比較大小,相等返回0,大的返回1,小則返回-1) 

2,Replace()用另一個(gè)字符(字符串)替換字符串中給定的字符(字符串) 

3,Split()在出現(xiàn)給定字符的地方,把字符串拆分稱一個(gè)字符串?dāng)?shù)組(根據(jù)(參數(shù))分解字符串,形成新的字符串) 

4,SubString()在字符串中檢索給定位置的子字符串(截取字符串返回子串,兩個(gè)重載) 

5,ToLower()把字符串轉(zhuǎn)換成小寫形式 

6,ToUpper()把字符串轉(zhuǎn)換成大寫形式 

7,Trim()刪除首尾的空白(比如:注冊(cè)時(shí)用戶名,密碼不允許首尾出現(xiàn)空格) 

8,Concat()方法,合并字符串 

9,CopyTo()方法,把字符串中指定的字符復(fù)制到一個(gè)數(shù)組中 

10,Format()方法,格式化字符串 

11,IndexOf()方法,取得字符串第一次出現(xiàn)某個(gè)給定字符串或者字符的位置(返回第一個(gè)字符串出現(xiàn)的位置,不存在則返回-1,常用于判斷是否包含子串) 

12,Insert()把一個(gè)字符串實(shí)例插入到另一個(gè)字符串實(shí)例的制定索引處 

13,Join()合并字符串?dāng)?shù)組,創(chuàng)建一個(gè)新字符串

StringBuilder (注意引用命名空間System.Text)

1,創(chuàng)建StringBuilder對(duì)象

//==================StringBuilder==================   //利用構(gòu)造函數(shù)創(chuàng)建   StringBuilder sb = new StringBuilder("Czhenya");   //創(chuàng)建初始長度的空對(duì)象,   StringBuilder sb1 = new StringBuilder(12);   //創(chuàng)建初始字符串和初始空間   StringBuilder sb2 = new StringBuilder("Czhenya", 20);//如果初始空間不足,那么將申請(qǐng)新的空間,空間大小為原來的2倍

關(guān)于StringBuilder對(duì)象創(chuàng)建的時(shí)候的內(nèi)存占用 

2,Append()方法,給當(dāng)前字符串追加一個(gè)字符 

3,Insert()追加特定格式的字符串 

4,Remove()從當(dāng)前字符串中刪除字符 

5,Replace()在當(dāng)前字符串中,用某個(gè)字符或者字符串全部替換另一個(gè)字符或者字符串 

6,ToString()把當(dāng)前stringBuilder中存儲(chǔ)的字符串,提取成一個(gè)不可變的字符串

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VEVB武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永和县| 遂宁市| 凤山市| 罗源县| 喀喇| 晋州市| 铁力市| 甘肃省| 龙胜| 景谷| 南昌市| 称多县| 余姚市| 毕节市| 融水| 花莲县| 元江| 佛学| 游戏| 治多县| 万源市| 榆中县| 桂东县| 姜堰市| 句容市| 澄城县| 名山县| 珲春市| 白朗县| 枣阳市| 奉贤区| 开远市| 北票市| 赣榆县| 田东县| 陇南市| 敦煌市| 彭州市| 雷山县| 大悟县| 镶黄旗|