亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

淺析C#中StringBuilder類的高效及與String的對比

2020-01-24 01:09:34
字體:
來源:轉載
供稿:網友

在C#中,在處理字符串拼接的時候,使用StringBuilder的效率會比硬拼接字符串高很多。到底有多高,如下:

static void Main( string[] args ){ string str1 = string.Empty; Stopwatch sw1 = new Stopwatch(); sw1.Start(); for ( int i = 0; i < 10000; i++ ) { str1 = str1 + i.ToString(); } sw1.Stop(); Console.WriteLine( "拼接字符串所耗費時間為:" + sw1.ElapsedMilliseconds + "毫秒" ); StringBuilder str2 = new StringBuilder( 10000 ); Stopwatch sw2 = new Stopwatch(); sw2.Start(); for ( int i = 0; i < 10000; i++ ) { str2.Append( i.ToString() ); } sw2.Stop(); Console.WriteLine( "使用StringBuilder所耗費時間為:" + sw2.ElapsedMilliseconds + "毫秒" ); Console.ReadKey();}

上面代碼執行的效果如下:

2016518151713376.png (323×59)

string類型的特別之處在于我們可以像使用值類型那樣使用string類型,而實際上string是引用類型。既然是引用類型,CLR就會把string類型保存在托管堆上。當我們使用str1 = str1 + i.ToString();進行拼接,由于string類型的恒定性,不會改變str1在內存中的地址,而是在托管堆上創建了另外一個字符串對象。如此,拼接10000次,就創建了10000個string類型對象,效率難免低下。

而StringBuilder會在內存中開辟一塊連續的內存,當增加字符串實際上是針對同一塊內存的修改,所以效率更高。

當然,到底使用硬拼接字符串,還是使用StringBuilder,不是絕對的,要看情況。當拼接字符串很少的情況下,當然直接硬拼接字符串就行了。

深入string和stringBuilder的區別
String對象是不可改變的。每次使用System.String類中的方法之一或者是進行運算時(如賦值、拼接等),都要在內存中創建一個新的字符串對象,這就需要為該新對象分配內存空間,而StringBuilder則不會。在需要對字符串執行重復修改操作時,與創建新的 String 對象相關的系統開銷可能會非常昂貴。如果要修改字符串而不創建新的對象,則可以使用 System.Text.StringBuilder 類。例如,當在一個循環中將許多字符串連接在一起時,使用 StringBuilder 類可以提升性能。

String類型對象的特點:
1.它是引用類型,在堆上分配內存
2.運算時會產生一個新的實例
3.String 對象一旦生成不可改變(Immutable)
4.定義相等運算符(== 和 !=)是為了比較 String 對象的值(而不是引用)

大家都知道字符串對象是”不可變的”,
對字符串進行操作的方法實際上返回的是新的字符串對象。
在前面的示例中,將 s1 和 s2 的內容連接起來以構成一個字符串時,包含 "orange" 和 "red" 的兩個字符串均保持不變。+= 運算符會創建一個包含組合內容的新字符串。結果是 s1 現在引用一個完全不同的字符串。只包含"orange" 的字符串仍然存在,但連接 s1 后將不再被引用。
大量的字符串相加的時候就會有很多想s1一樣的 不在被引用,從而造成資源的極大浪費.
大家注意這點

string stringValue = this.m_StringValue;internal volatile string m_StringValue;

寫到這里,需要有人見看到了 volatile,也許不明白是什么意思,大概的說下.
volatile關鍵字實現了線程間數據同步,用volatile修飾后的變量不允許有不同于”主”內存區域的變量拷貝。
換句話說,一個變量經volatile修飾后在所有線程中必須是同步的;任何線程中改變了它的值,所有其他線程立即
獲取到了相同的值。理所當然的,volatile修飾的變量存取時比一般變量消耗的資源要多一點,因為線程有它自己的
變量拷貝更為高效。

this.NeedsAllocation(stringValue, requiredLength)

只有在需要的時候才去重新分配.
就分配空間和線程的使用上來講,StringBuilder肯定比String要高,但是前提是使用頻率比較高的情況下.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产美女在线| 欧美亚洲成人精品| 岛国av一区二区在线在线观看| 国产日韩av在线播放| 久久免费视频观看| 欧美日产国产成人免费图片| 亚洲第一精品久久忘忧草社区| 国产狼人综合免费视频| 午夜欧美不卡精品aaaaa| 国产日韩欧美视频在线| 中文字幕日韩欧美| 欧美高跟鞋交xxxxxhd| 久久在线精品视频| 日韩欧美国产一区二区| 精品国产依人香蕉在线精品| 成人妇女淫片aaaa视频| 成人久久一区二区三区| 精品日韩视频在线观看| 亚洲成人中文字幕| 91av在线免费观看| 日韩精品福利网站| 亚洲美女av黄| 日韩小视频网址| 欧美激情精品在线| 日韩网站在线观看| 国产精品成人av性教育| 久久精品国产久精国产思思| 亚洲欧洲视频在线| 成年人精品视频| 国产亚洲精品久久久久久777| 欧美壮男野外gaytube| 毛片精品免费在线观看| 日本欧美在线视频| 精品亚洲国产视频| 亚洲福利视频网站| 亚洲直播在线一区| 欧美在线视频免费播放| 国产日韩av在线播放| 欧美一级大片视频| 国产成人精品视频在线观看| 狠狠干狠狠久久| 国产精品91久久| 国产精品自产拍在线观| 日本欧美国产在线| 午夜精品久久久久久久男人的天堂| 国产欧美日韩中文字幕| 97人人做人人爱| 亚洲人成欧美中文字幕| 日韩中文视频免费在线观看| 国产欧美精品一区二区| 欧美一区二区三区免费观看| 国产区精品在线观看| 日韩中文字幕免费| 亚洲国产精品久久久久秋霞不卡| 久久99久久亚洲国产| 国产欧美日韩免费| 欧美成人一二三| 国产亚洲激情视频在线| 欧美激情中文字幕乱码免费| 国产有码一区二区| 欧美最猛性xxxxx(亚洲精品)| 久久久久日韩精品久久久男男| 国产一区二区三区在线视频| 久久人人爽人人| 久久久久久久久久久免费精品| 91精品久久久久久久久久| 精品久久久一区二区| 精品夜色国产国偷在线| 国产一区二区三区丝袜| 91po在线观看91精品国产性色| 久久久久久午夜| 欧美午夜久久久| 国产成人精品日本亚洲专区61| 亚洲精品成人久久| 亚洲嫩模很污视频| 国产亚洲在线播放| 91久久国产综合久久91精品网站| 亚洲国产精品一区二区久| 久久人91精品久久久久久不卡| 在线精品高清中文字幕| 亚洲欧美国产一本综合首页| 91成人精品网站| 亚洲精品理论电影| 精品国产区一区二区三区在线观看| 欧美激情精品久久久久久黑人| 欧美午夜www高清视频| 国产精品一区二区三区毛片淫片| 91精品美女在线| 日韩美女中文字幕| 成人两性免费视频| 97精品免费视频| 91精品在线一区| 精品夜色国产国偷在线| 精品成人久久av| 亚洲国产精品va在看黑人| 亚洲缚视频在线观看| 日韩视频免费观看| 精品欧美国产一区二区三区| 成人免费福利在线| 久久99久久99精品免观看粉嫩| 91天堂在线观看| 亚洲国产成人精品女人久久久| 992tv在线成人免费观看| 亚洲理论电影网| 日韩电影免费观看中文字幕| 北条麻妃在线一区二区| 亚洲一区二区三区久久| 日韩麻豆第一页| 亚洲欧洲自拍偷拍| 国产精品美女呻吟| 亚洲精品少妇网址| 亚洲女成人图区| 91tv亚洲精品香蕉国产一区7ujn| 97成人精品视频在线观看| 97视频色精品| 国产精品免费电影| 欧美极品在线播放| 国产精自产拍久久久久久蜜| 久久久国产精品免费| 菠萝蜜影院一区二区免费| 欧美专区在线播放| 亚洲欧美成人网| 日韩av成人在线| 国产精品亚洲网站| 亚洲综合色av| 国产ts一区二区| 日本不卡高字幕在线2019| 国产精品久久久久久久久影视| xxxxxxxxx欧美| 欧美激情视频在线免费观看 欧美视频免费一| 正在播放欧美视频| 96精品视频在线| 亚洲国产欧美自拍| 日韩免费在线免费观看| 国产成人精品免高潮在线观看| 理论片在线不卡免费观看| 97超级碰碰人国产在线观看| 亚洲自拍偷拍网址| 成人国产精品一区| 国产精品日韩欧美大师| 国产日韩在线精品av| 欧美韩日一区二区| 久久久视频免费观看| 亚洲自拍中文字幕| 91深夜福利视频| 不卡伊人av在线播放| 国产成人免费91av在线| 欧美黑人xxx| 国产精品一区av| 日韩欧美在线看| 欧美性猛交xxxx乱大交| 日韩精品视频免费在线观看| 久久中文久久字幕| 午夜精品一区二区三区在线播放| 亚洲国产精品资源| 97国产在线视频| 国产精品一香蕉国产线看观看| 欧美日韩爱爱视频| 久久综合久中文字幕青草| 精品久久久久久久久久ntr影视| 亚洲成人网在线| 国产成人精品网站| 国产自产女人91一区在线观看| 国产精品偷伦视频免费观看国产|