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

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

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

2019-11-11 06:09:17
字體:
來源:轉載
供稿:網友

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)。


上一篇:CmakeLists實踐(2)

下一篇:Floyd算法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠躁18三区二区一区| 国产男女猛烈无遮挡91| 国产成人一区二区在线| 欧美韩国理论所午夜片917电影| 亚洲精品美女在线观看| www.国产一区| yw.139尤物在线精品视频| 亚洲韩国青草视频| 日韩中文在线观看| 九九久久精品一区| 久久久爽爽爽美女图片| 91视频免费网站| 欧美精品亚州精品| 亚洲图片在区色| 欧美一区亚洲一区| 亚洲黄色成人网| 国产成人欧美在线观看| 亚洲精品小视频在线观看| 日韩欧美中文免费| 久久精品视频播放| 亚洲乱亚洲乱妇无码| 亚洲成av人片在线观看香蕉| 成人在线播放av| 国产精品久久久久久久久男| 亚洲精品美女视频| 精品国偷自产在线视频| 日韩美女免费视频| 亚洲第一综合天堂另类专| 久久偷看各类女兵18女厕嘘嘘| 国产欧美日韩最新| 久久中文字幕一区| 黄色成人在线免费| 91在线观看免费高清| 国产亚洲精品久久久优势| 色妞一区二区三区| 欧美精品videosex性欧美| 成年无码av片在线| 日韩在线视频国产| 成人免费黄色网| 日韩电影在线观看免费| 国产一区二区三区四区福利| 欧美—级高清免费播放| 日韩美女免费视频| 91九色精品视频| 精品久久久久久电影| 国产不卡一区二区在线播放| 久久精品久久久久电影| 国产999精品| 在线电影中文日韩| 日韩精品在线播放| 欧美国产一区二区三区| 国产一区二区三区毛片| 亚洲电影免费观看高清完整版在线观看| 久久久久久一区二区三区| 亚洲乱码av中文一区二区| 国产精品久久久久7777婷婷| 亚洲欧美中文日韩在线v日本| 国产91成人video| 亚洲第一男人av| 国产一区二区三区高清在线观看| 亚洲国产成人91精品| 亚洲曰本av电影| 日韩av在线影视| 欧美伊久线香蕉线新在线| 久久久久久久久国产| 一本色道久久88综合亚洲精品ⅰ| 亚洲精品一区中文| 亚洲视频在线看| 日韩欧美成人免费视频| 色偷偷偷亚洲综合网另类| 国产午夜精品一区理论片飘花| 精品久久久久久中文字幕大豆网| 欧美精品第一页在线播放| 欧美性生交大片免费| 日韩亚洲欧美中文在线| 4438全国成人免费| 亚州成人av在线| 成人黄色影片在线| 美女黄色丝袜一区| 国产精品久久中文| 性色av一区二区三区免费| 国产精品爱久久久久久久| 亚洲精选在线观看| 国产a∨精品一区二区三区不卡| 91精品国产综合久久久久久蜜臀| 国产精品高清免费在线观看| 亚洲精品动漫100p| 欧美激情一二区| 国产+人+亚洲| 国产精品久久久久久久电影| 777午夜精品福利在线观看| 精品视频—区二区三区免费| 国产精品久久久久久av福利| 日韩精品有码在线观看| 亚洲白虎美女被爆操| 亚洲在线视频福利| 午夜精品一区二区三区在线视频| 在线成人中文字幕| 欧美极品少妇xxxxⅹ免费视频| 亚洲国产欧美一区二区丝袜黑人| 日韩中文字幕精品| 日本高清视频精品| 久久久噜噜噜久久中文字免| 久久久久久有精品国产| 亚洲黄色有码视频| 成人激情视频小说免费下载| 亚洲国产一区二区三区在线观看| 成人福利免费观看| 精品亚洲一区二区三区四区五区| 91精品国产亚洲| 国产精品中文在线| 一区二区三区 在线观看视| 亚洲va码欧洲m码| 亚洲精品成人久久电影| 国产主播在线一区| 欧美精品久久久久久久久久| 91影视免费在线观看| 国产精品亚洲自拍| 亚洲成人亚洲激情| www.亚洲一二| 亚洲视频在线观看网站| 98午夜经典影视| 欧美亚洲激情在线| 久久免费视频网站| 97成人精品区在线播放| 欧美亚洲另类在线| 久久久极品av| 亚洲男人天堂古典| 美女黄色丝袜一区| 2020久久国产精品| 精品亚洲一区二区三区在线观看| 国产噜噜噜噜久久久久久久久| 另类视频在线观看| 国产精选久久久久久| 亚洲欧美日韩中文在线制服| 亚洲国产一区二区三区在线观看| 中文字幕精品www乱入免费视频| 国产69精品久久久久9999| 91香蕉国产在线观看| 欧美日韩久久久久| 国产精品美女午夜av| 国产69精品久久久| 欧美精品日韩www.p站| 国产欧美在线观看| 亚洲18私人小影院| 日韩精品高清在线观看| 欧美亚洲视频一区二区| 日韩在线国产精品| 在线视频日韩精品| 川上优av一区二区线观看| 91精品国产99| 国产精品美女久久久久av超清| 久久久精品在线观看| 国产精品视频久久久久| 亚洲美女久久久| 亚洲一区二区久久| 日韩最新免费不卡| 欧美日韩亚洲激情| 成人精品aaaa网站| 午夜精品三级视频福利| 国产精品福利无圣光在线一区| 国产精品久久久久不卡| 久久伊人色综合| 91免费精品国偷自产在线|