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

首頁 > 學院 > 開發設計 > 正文

C# 字符串操作——性能優化細節

2019-11-11 05:32:36
字體:
來源:轉載
供稿:網友

C# 性能優化細節

1、使用string.Empty給一個空字符串變量賦初始值

String.Empty是一個指代,而””是具體的實現
string filter=“”;//不建議 string filter=string.Empty; //建議

2、使用str.Length == 0做空串比較

最快的方法:if (str.Length == 0)其次:if (str == String.Empty)或 if (str == "")

3、避免不必要的字符串ToUpper、ToLower類操作

ToUpper、ToLower這類方法均會重新生成字符串對String.Compare可實現忽略字符串大小寫
//不推薦的寫法if(s1.ToUpper()==s2.ToUpper()) …;//推薦的寫法if(String.Compare( s1, s2, true ) == 0) …;

4、巧用StringBuilder進行字符串拼接操作

如果要構造一個較長的字符串,尤其是拼接超過10次時(經驗值),應使用StringBuilder做字符串拼接操作。
<PRe name="code" class="csharp">//不建議:string s = null;for (int i = 0; i < 10000; i++){   s += i;}//建議:StringBuilder sb = new StringBuilder();for (int i = 0; i < 10000; i++){    sb.Append(i);}string t = sb.ToString();</pre><br><img src="http://img.blog.csdn.net/20151107160714247?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

5、創建StringBuilder應指定初始大小

默認的初始大小為16,一旦超過即需要Resize一次并增加GC壓力。建議根據經驗值為其指定初始大小。
StringBuilder sb = new StringBuilder();for (int i = 0; i < 10; i++){   sb.Append(i);}string s = sb.ToString();//建議修改為StringBuilder sb = new StringBuilder(256);for (int i = 0; i < 10; i++){   sb.Append(i);}string s = sb.ToString();

6、避免濫用StringBuilder

類似str1+str2+str3+str4的字符串拼接操作會被編譯為 String.Concat(str1,str2,str3, str4),效率反而高于StringBuilder。String.Concat會一次性確定字符串長度, StringBuilder需要做Resize,適用于多次生成string對象的情況。

7、通過直接設置.Length=0來初始化StringBuilder

根據實驗結果,多次使用同一StringBuilder對象時,通過直接設置.Length=0來初始化速度最快。
StringBuiler sb = new StringBuilder(256);  ......sb.Remove(0, sb.Length); //不建議sb.Length = 0; //建議

8、不要使用.Length=0來釋放StringBuilder占用的內存

static void test(){    StringBuilder sb = new StringBuilder(256);    for (int i = 0; i < 100; i++)    {        sb.Append(i);    }    string t = sb.ToString();    ……//其他不使用變量sb的代碼段    sb.Length = 0; //去掉該句手工清空sb代碼,會更早釋放內存}

9、string的IndexOf和Contains性能測試

通過測試證明 Contains 速度比IndexOf快很多。

10、C#中“Equals”與“==”的速度比較

下面列出5次測試結果的對比:

 true測試最快方式true測試最快方式與第二名的差距false測試最快方式false測試最快方式與第二名的差距
測試1"value" == string0.046 s"value".Equals(string)0.016 s
測試2"value" == string0.219 s"value".Equals(string)0.036 s
測試3string == "value"0.015 s"value".Equals(string)0.001 s
測試4string == "value"0.068 sstring.Equals("value")0.021 s
測試5string == "value"0.066 s"value".Equals(string)0.001 s

 

true測試:"value" == string領先總時間為0.265秒,string == "value"領先總時間為0.149秒;

false測試:"value".Equals(string)領先總時間為0.054秒,string.Equals("value")領先總時間為0.021秒。

 

現在我們暫時可以得到的結論是:true判斷時,用"value" == string是最快的;false判斷時,用"value".Equals(string)是最快的。

也就是說:一個判斷true發生的情況多些時,用"value" == string;false發生的情況多些時,用"value".Equals(string)。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国语自产精品视频在线看| 国产99在线|中文| 国产成人鲁鲁免费视频a| 久久久久国色av免费观看性色| 国产精品久久久久久久久久久新郎| 色婷婷**av毛片一区| 欧美性猛交xxxx免费看| 在线观看精品国产视频| 国产精品免费电影| 亚洲精品日产aⅴ| 国产主播喷水一区二区| 国产精品尤物福利片在线观看| 亚洲激情电影中文字幕| 国产91热爆ts人妖在线| 92福利视频午夜1000合集在线观看| 羞羞色国产精品| 疯狂做受xxxx欧美肥白少妇| 亚洲国产精品女人久久久| 亚洲一二在线观看| 久久精品国产成人精品| 午夜欧美大片免费观看| 亚洲成色777777在线观看影院| 成人av在线网址| 国产精品视频久久久久| 日韩av中文在线| 欧美精品久久久久久久免费观看| 91久久精品国产91久久性色| 亚洲欧美国产精品va在线观看| 少妇高潮 亚洲精品| 亚洲一区av在线播放| 色哟哟网站入口亚洲精品| 久久久久久久久国产| 亚洲精品黄网在线观看| 丁香五六月婷婷久久激情| 亚洲国产精品久久久久秋霞蜜臀| 国产精品电影在线观看| 深夜成人在线观看| 国产69久久精品成人| 国产精品香蕉在线观看| 成人亚洲综合色就1024| 欧美成年人视频网站| 亚洲国产精品小视频| 欧美老肥婆性猛交视频| 国产一区二区三区在线视频| 亚洲成人教育av| 夜夜嗨av一区二区三区四区| 国产亚洲一级高清| 欧美精品在线观看91| 亚洲人成电影网站色…| 久久久久久久久亚洲| 精品国产成人av| 日本亚洲欧洲色α| 亚洲bt欧美bt日本bt| 国产成人精品视频| 欧美精品激情在线观看| 蜜月aⅴ免费一区二区三区| 国产成人精品免费视频| 日本成人精品在线| 91精品国产综合久久香蕉最新版| 亚洲黄色有码视频| 欧美特级www| 国产精品最新在线观看| 国产欧美精品一区二区三区介绍| 国产脚交av在线一区二区| 国模吧一区二区| 国产精品一区专区欧美日韩| 欧美激情乱人伦一区| 欧美日韩视频在线| 亚洲片av在线| 欧美片一区二区三区| 国产美女扒开尿口久久久| 亚洲xxxx18| 国产精品免费一区豆花| 另类图片亚洲另类| 日韩免费观看高清| 国产精品亚洲片夜色在线| 日韩av在线导航| 成人写真视频福利网| 久久人体大胆视频| 日韩精品免费在线视频观看| 久久亚洲综合国产精品99麻豆精品福利| 国产亚洲一区二区精品| 亚洲成**性毛茸茸| 日韩欧美中文字幕在线播放| 国产精品久久久久久久久久久新郎| 久久频这里精品99香蕉| 日本中文字幕不卡免费| 久久久国产精品x99av| 亚洲国产古装精品网站| 精品无人区乱码1区2区3区在线| 原创国产精品91| 亚洲国内精品在线| 久久久久久久久国产| 欧美夫妻性生活xx| 国产精品自拍视频| 国产91精品久久久| 国产精品美女久久久久久免费| 亚洲已满18点击进入在线看片| 一区国产精品视频| 国产精品久久久久久久久久久新郎| 亚洲高清色综合| 欧美日韩在线免费观看| 欧美日韩国产限制| 精品福利樱桃av导航| 国产有码在线一区二区视频| 欧美体内谢she精2性欧美| 久久黄色av网站| 久久人人爽亚洲精品天堂| 亚洲黄色片网站| 国产精品视频网址| 日韩亚洲欧美中文在线| 国产一区深夜福利| 亚洲bt天天射| 91免费视频网站| 精品偷拍一区二区三区在线看| 久久久亚洲精品视频| 青青草国产精品一区二区| 欧美丝袜一区二区三区| 日韩精品在线视频观看| 欧美超级免费视 在线| 在线日韩欧美视频| 亚洲香蕉成人av网站在线观看| www.精品av.com| 欧美亚洲日本黄色| 姬川优奈aav一区二区| 欧美性20hd另类| 国产日韩视频在线观看| 欧美亚洲成人xxx| 91av视频在线播放| 久久精品视频亚洲| 久久手机精品视频| 亚洲一区二区三区sesese| 九九热这里只有在线精品视| 国产亚洲aⅴaaaaaa毛片| 亚洲一区二区三区sesese| 九九精品在线视频| 国产91精品在线播放| 精品亚洲男同gayvideo网站| 欧美成年人网站| 日韩免费电影在线观看| 国产精品成人观看视频国产奇米| 精品美女永久免费视频| 国产97在线|亚洲| 精品福利樱桃av导航| 日韩视频在线观看免费| 91精品视频大全| 国产精品成人国产乱一区| 51午夜精品视频| 国产精品丝袜视频| 国产欧美最新羞羞视频在线观看| 色樱桃影院亚洲精品影院| 欧美另类老肥妇| 国产精品视频不卡| 欧美性极品少妇精品网站| 国产999精品久久久影片官网| 国产成人一区二| 欧美日韩在线视频一区二区| 国产精品久久久久一区二区| 色综合亚洲精品激情狠狠| 97精品国产97久久久久久春色| 欧美亚洲国产另类| 成人性生交大片免费看视频直播| 国产在线高清精品| 另类美女黄大片|